Having a SSH key can be very handy to avoid having to enter your password every time you connect to a server via SSH. You can create a SSH key in your terminal in just a few seconds.
1. Open your terminal
2. Start the ssh-keygen tool
The ssh-keygen tool is included in the openssh-client package.
ssh-keygen -t rsa -b 4096
This will make a SSH key with the type RSA and bit length of 4096. This is larger than the default of 2048 bits. A larger key can be more secure. 4096 bits should be sufficient here.
3. Press enter to save in the default location
If this is not your first SSH key. You can also enter a new path to save the file.
Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa):
4. Decide on a passphrase or no passphrase
If you enter a passphrase here. You will have to enter this phrase every time you use the key. If you don’t want a passphrase, just press enter.
5. Start using your new key!
Your identification has been saved in /myuser/.ssh/id_rsa. Your public key has been saved in /myuser/.ssh/id_rsa.pub. The key fingerprint is: SHA256:XbSuo8IpvoaHmwSuaWhnj7F0m0kuiB99a7ikpEq4yzA [email protected] The key's randomart image is: +---[RSA 4096]----+ | . | | . . | | o | | . o | |. S . . | |o. . . | |Eo==o=.. o | |[email protected]+O%.O. . . | |@+BB*@… | +----[SHA256]-----+
The ssh-key tool has now saved two files in your ~/.ssh directory:
This is your public key. The contents of this file will be stored on the servers you need access to.
6. Put your public key where ever you need to use it
There are two ways you can copy your public key to a Linux server.
The quickest way is to use ssh-copy-id. This will automatically add the key to the remote users authorized keys:
ssh-copy-id [email protected]
An other way is to manually add the key to the servers authorized keys file.
cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDV+mzuCEKk5qg1z0hKzKerNn8F4XD7o4PyTsCnUNWjWNtlfaY1IYw/QtYxeBh4blDuCXSyJNgf46eYiebjPCD8Vi3cpbqKxlVZKSxBnmhYSh6BVL+jlsxDgv/S0IueUp+KirIsnLC7c6q+dmbebZeuik5DwTS4i5njxBsZTK4E+y7q5Y6L7CzoKn7axdXlVnHs2e6z5mlQ0sFef0E0L9bwQzUwWP2+yQoUP5LsKRaDl6kOb6l8Dx6wNd1ycFyrBhntQyAWEIscfIR1eHU4DkhkIwqC328grBP6jjPxVhsl1cJdQPqs6GbLqUmddyCRLYVWTFHKnJ+X8Fh5DHNIcDHbCr8Mhqt1C2S9LVM9DEKnmkMmH3Ev6Fwa8HA83DJMqYBM4+UIWGtzZvP1DYqUxY7ixSvSh2OkReluHzo1u9cC8k1v6h2TOFoZUaQQNGN/aU2lMSXVm5AH240amPd9OygMiH+Kzd+JriQ5WztwXXZ9UxqRi1SZWvzU+KIHW6oYEBbZbrfsWSv0Q6Cih6UMdaUMn3XAqQMJ5O7Crgy4yjVoL+9umxo2q9AAzH+YdSgrbnNXovWP0Jpcgj0bsRX6rVC70usvqYueocxk6/X8wEiBrAKJl9yACP1PIwpYKKCSSLN+92Gr5t/9HDJpWimV67xH7ub7JL+M0TQlD7h+6S0GKQ== [email protected]
Now log in to your server and add the contents of the public key to the file .ssh/authorized_keys2.