Using SSH keys in Linux/en: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
(Importing a new version from external source)
(Updating to match new version of source page)
Line 3: Line 3:
To create a key pair use the <code>ssh-keygen</code> command. Before running the command check to see if you might already have a key pair. Keys are located in the <code>.ssh/</code> directory in your home directory. The default key names are  <code>id_rsa</code> for the private key and <code>id_rsa.pub</code> for the public key. The command
To create a key pair use the <code>ssh-keygen</code> command. Before running the command check to see if you might already have a key pair. Keys are located in the <code>.ssh/</code> directory in your home directory. The default key names are  <code>id_rsa</code> for the private key and <code>id_rsa.pub</code> for the public key. The command


  ssh-keygen -b 2048 -t rsa
  <source lang="console">
[name@server]$ ssh-keygen -b 2048 -t rsa
</source>


will generate output similar to the following
will generate output similar to the following
Line 35: Line 37:
Finally test the new key by sshing to the remote machine from the local machine with
Finally test the new key by sshing to the remote machine from the local machine with


  ssh -i /home/ubuntu/.ssh/id_rsa USERNAME@ADDRESS
  <source lang="console">
[name@server]$ ssh -i /home/ubuntu/.ssh/id_rsa USERNAME@ADDRESS}}
</source>


where <code>/home/ubuntu/.ssh/id_rsa</code> specifies your private key file and <code>USERNAME</code> is the user name on the remote machine, and <code>ADDRESS</code> is the address of the remote machine.
where <code>/home/ubuntu/.ssh/id_rsa</code> specifies your private key file and <code>USERNAME</code> is the user name on the remote machine, and <code>ADDRESS</code> is the address of the remote machine.

Revision as of 20:03, 21 December 2016

Other languages:

Creating a Key Pair

To create a key pair use the ssh-keygen command. Before running the command check to see if you might already have a key pair. Keys are located in the .ssh/ directory in your home directory. The default key names are id_rsa for the private key and id_rsa.pub for the public key. The command

[name@server]$ ssh-keygen -b 2048 -t rsa

will generate output similar to the following

Generating public/private rsa key pair.
Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ubuntu/.ssh/id_rsa.
Your public key has been saved in /home/ubuntu/.ssh/id_rsa.pub.
The key fingerprint is:
ef:87:b5:b1:4d:7e:69:95:3f:62:f5:0d:c0:7b:f1:5e ubuntu@test-key
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|           .     |
|            o .  |
|        S    o o.|
|         .  + +oE|
|          .o O.oB|
|         .. +oo+*|
|          ... o..|
+-----------------+

when prompted you should enter a passphrase. If you already have a key pair saved with the default names you may wish to enter a file name for the saved keys so as not to overwrite an existing key pair.

Connecting using a Key Pair

Once your key pair has been created copy the public key (the /home/ubuntu/.ssh/id_rsa.pub key file in the above on your local machine) to the /home/USERNAME/.ssh/authorized_keys file on the server you wish to connect to. If you had to create the file /home/USERNAME/.ssh/authorized_keys ensure the file authorize_keys and directory .ssh have the correct permissions with chmod 600 ~/.ssh/authorized_keys and chmod 700 ~/.ssh respectively.

Finally test the new key by sshing to the remote machine from the local machine with

[name@server]$ ssh -i /home/ubuntu/.ssh/id_rsa USERNAME@ADDRESS}}

where /home/ubuntu/.ssh/id_rsa specifies your private key file and USERNAME is the user name on the remote machine, and ADDRESS is the address of the remote machine.