Generate A Public Key For Ssh Mac
This guide goes through setting up SSH keys on macOS Mojave 10.14 back to Mac OSX 10.11 and also a secure password-less SSH connection between a local macOS workstation and a remote server also running a Linux variant operating system.
The process requires generating a public and private key on the local computer and then adding the public key to the remote servers authorised list. What is great about this is that it allows a password prompt free session, handy for a lot of uses.
First thing that you need to do on your macOS machine is to create a directory that will store your SSH keys. Then you will generate a public and private key for your account, launch the Terminal and punch in some commands:
Adding your SSH key to the ssh-agent. Before adding a new SSH key to the ssh-agent to manage your keys, you should have checked for existing SSH keys and generated a new SSH key. When adding your SSH key to the agent, use the default macOS ssh-add command, and not an application installed by macports, homebrew, or some other external source.
Create a .ssh Directory
Change to the home directory
An SSH key consists of a pair of files. One is the private key, which you should never give to anyone. No one will ever ask you for it and if so, simply ignore them - they are trying to steal it. The other is the public key. When you generate your keys, you will use ssh-keygen to store the keys in a safe location so you can authenticate with. Jun 22, 2012 The DigitalOcean control panel allows you to add public keys to your new Droplets when they’re created. You can generate the SSH Key in a convenient location, such as the computer, and then upload the public key to the SSH key section. Then, when you create a new Droplet, you can choose to include that public key on the server. Macintosh Git SSH key setup. We are able to generate SSH keys, upload the public part, and then we can interact with GitHub. Is a mac user suppised to launch. As you can see, it’s very easy to generate SSH keys on Windows these days. Basically, the ssh-keygen command does all the work. If you find it difficult to understand how to add the public key to the server, look up your provider’s documentation. They always have a page that describes, in detail, how to do this.
Generate Ssh Key Windows
Create a SSH directory name .ssh and move into it
Make sure that the file permissions are set to read/write/execute only for the user
Create your private and public key, the blank quotes at the end of the command gives the private key no password, so allowing for passwordless logins!
Change into the .ssh directory and list the contents of that .ssh directory
Thats your SSH keys created, the private key is the id_rsa and the public one is the id_rsa.pub, don’t give out the private one always keep that one only on your local machine.
Sharing the Public Key
Create an authorized_keys in the .ssh directory of the remote computer that you want to connect to.
You can create automatic logins by adding the contents of your public key to the authorized_keys file on the remote device.
To see and copy your public key use the cat command and copy the contents:
On the remote computer if needed, change the permssions on the authorized_keys file to write to add the public key, on a new line paste in your public key, and change permissions back to read only after for security.
Allow write on authorised_keys
Paste the entire id_rsa.pub content with vi or nano into the authorized_keys file, if using nano use the -w flag to not use incorrect line breaks.
If the remote host does not have an “authorized_keys” file simply create one and after the public key is pasted in don’t forget to takeaway write permissions.
Going Both Ways
So now when you connect via SSH no password is prompted as the remote computer has your public key which is only decrypted by your private key held in your local .ssh/ directory. If you want the communications to be bilateral then repeat the process in the opposite order between the two.
Now the two computers can securely connect with no password prompting, making it ideal to script between the two for file copies or back ups.
Doing it Quicker
Now instead of typing in
Make an alias in your bash shell you could alias it to
Reload the the shell
Then all you have to type in is the alias