Mar 22, 2019 Generating a public/private rsa key pair. Enter the file in which you wish to save they key (i.e., /home/username/.ssh/idrsa): The prompt defaults to save the new key pair in the /home/username/.ssh/ directory and name it 'idrsa'. Unless you want to change the location or name of the file, just click Enter on your keyboard to continue. This article provides detailed background and steps to create and manage an SSH RSA public-private key file pair for SSH client connections. If you want quick commands, see How to create an SSH public-private key pair for Linux VMs in Azure.
This tutorial will show you how to generate and secure SSH keys on macOS Sierra (10.12) and macOS High Sierra (10.13). SSH keys allow you to log into your server without a password. They increase convenience as well as security by being significantly more resistant to brute-force attacks.
SSH (Secure Shell) is a protocol most often used for remote management and for file transfer often denoted as sFTP (Secure File Transfer Protocol). When accessing a remote server such as a Vultr VPS, it is recommended to use SSH with PKE (Public Key Exchange) which uses a key-pair where the public key is provided to the server and the private key in stored on your machine.
![West West](/uploads/1/2/6/0/126088466/539341498.png)
SSH Keys can be automatically added to servers during the installation process by adding your public keys in the Vultr control panel. You can manage your SSH keys on this page. It is important to remember that these are your public keys only (usually denoted with
.pub
), you should never expose your private keys.Key types
There are several different key types that can be selected. Use the
-t
argument upon generation, such as ssh-keygen -t ed25519
. The ED25519 key type, which uses an elliptic-curve signature, is more secure and more performant than DSA or ECDSA. Most modern SSH software (such as OpenSSH since version 6.5) supports the ED25519 key type, but you may still find software that is incompatible, thus the default key type is still RSA.The default key type is 2048-bit RSA which offers good security and compatibility. For higher security, you can choose a larger key size using the
-b
argument on generation, such as ssh-keygen -b 4096
to create a 4096-bit RSA key pair.Key generation
To generate an SSH key, you will need to open
Terminal.app
found in 'Applications > Utilities > Terminal'.To create a 4096-bit RSA key pair, enter:
![Macos Generate Public Key From Private Key Macos Generate Public Key From Private Key](/uploads/1/2/6/0/126088466/462381579.jpg)
Then you will see:
Pressing Enter/Return will save your new key pair to this default location, which is recommended. You will then have the option to create a passphrase, which will encrypt the key so that it cannot be used without authorization. Using a passphrase is also recommended.
At this point, your keypair has been created and stored in
~/.ssh/id_rsa
. To make the key available to the system and store the passphrase in the system keychain, we will need to complete several additional steps. Note that this is only needed if you would rather not be prompted for the key passphrase each time it is used.Add new keypair to SSH agent
Public Key Definition
Enter
ssh-add -K ~/.ssh/id_rsa
. You will then be prompted for the passphrase and you will see the following: If you would like to use this SSH key to log into a server that has already been created, you can use the
ssh-copy-id
tool to store the public key on the server you would like to access.Add new key to remote server
Using
ssh-copy-id
:Macos Generate Public Key From Private Keys
The console will request your login password since the remote server is not yet aware of your key. You will see the following:
Public Key Example
You can now attempt to log into the remote server with
ssh [email protected]
and you should be connected without a password prompt.