Il est idéal de pouvoir s’identifier sur un serveur distant, à l’aide d’une clé SSH, sans avoir à taper son mot de passe à chaque fois.
Pas seulement pour un gain de temps mais pour, par exemple, transférer des données ou avoir un cron qui lance une sauvegarde planifiée automatiquement, sans que vous ayez à taper le mot de passe SSH.
Et puis, c’est un degré de sécurité supplémentaire puisque personne ne pourra deviner votre clé RSA, à moins d’avoir eu main mise sur votre machine.
Ce tutoriel est très rapide à mettre en œuvre, quelques minutes à peine suffisent pour créer votre clé et la placer sur le serveur distant.
Voici le principe de fonctionnement en image:
Concrètement, au lieu d’utiliser un nom d’utilisateur et un mot de passe en mode interactif (l’invite de commande vous demande d’entrer votre mot de passe), il suffit de donner le nom d’utilisateur et le serveur reconnaît votre machine grâce à votre clé SSH.
Créer un répertoire .ssh
pour l’utilisateur
Normalement, votre utilisateur possède déjà un répertoire .ssh
mais si ce n’est pas le cas, il faut le créer. Vous pouvez passer à l’étape suivante si vous disposez déjà de ce répertoire.
On se rend dans le répertoire de l’utilisateur:
cd ~/
On crée le répertoire .ssh
:
mkdir .ssh
Code language: CSS (css)
On s’assure que les permissions de fichiers permettent de lire, écrire et exécuter uniquement pour notre utilisateur:
chmod go-rwx .ssh
Code language: CSS (css)
Créer une clé SSH
Nous allons maintenant créer une clé SSH, ou plutôt 2 clés : une clé privée et une clé publique.
Les guillemets à la fin de la commande indiquent que la clé privée n’a pas de mot de passe, ce qui permet de s’identifier sans mot de passe.
On se place dans le répertoire .ssh
:
cd .ssh
Code language: CSS (css)
Nous créons une clé de 4096 bits, sans mot de passe :
ssh-keygen -b 4096 -t ed25519 -f id_rsa -P ""
Code language: JavaScript (javascript)
Nous obtenons deux fichiers :
id_rsa
: notre clé privéeid_rsa.pub
: notre clé publique