Using SSH keys in Linux
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
ssh-keygen -b 2048 -t rsa
produira un résultat semblable à ceci :
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..| +-----------------+
on vous demandera d'entrer une phrase de passe. Si vous avez déjà sauvegardé une paire de clés avec leurs noms par défaut, vous pourriez nommer le fichier pour conserver les nouvelles clés afin de ne pas détruire les clés existantes.
Se connecter avec une paire de clés
Une fois la paire de clés créée, copiez la clé publique (dans notre exemple /home/ubuntu/.ssh/id_rsa.pub) de votre machine locale au fichier sur le serveur auquel vous voulez vous connecter (ici/home/USERNAME/.ssh/authorized_keys). Si vous avez dû créer le fichier /home/USERNAME/.ssh/authorized_keys, assurez-vous que le fichier authorize_keys a la permission chmod 600 ~/.ssh/authorized_keys et que le répertoire .ssh a la permission chmod 700 ~/.ssh.
Enfin, testez la nouvelle clé en connectant votre machine locale au serveur avec
ssh -i /home/ubuntu/.ssh/id_rsa USERNAME@ADDRESS
où /home/ubuntu/.ssh/id_rsa identifie le fichier de la clé privée; USERNAME est le nom d'utilisateur sur le serveur; et ADDRESS l'adresse du serveur.