
Pour ce connecter sur un serveur distant via SSH sans devoir entrer son mot de passe à chaque connexion, il suffit de créer un certificat sur la machine cliente et de copier ensuite la clé publique sur le serveur distant.
Sur la machine cliente:
On commence donc par générer les clés nécessaires:
1 |
ssh-keygen -t rsa |
Cette commande à généré deux clés dans le répertoire .ssh de l’utilisateur courant.
La clé publique (id_rsa.pub) et la clé privée (id_rsa). On copie dans le presse-papier le contenu de la clé publique que l’on copiera ensuite sur le serveur distant.
1 |
cat /root/.ssh/id.rsa.pub |
On se connecte ensuite sur la machine distante:
1 |
ssh root@ymon.serveur.com |
La première fois il est nécessaire d’ajouter le « Fingerprint », pour cela il suffit d’accepter le message suivant tapant « yes », ou « oui » selon la langue du serveur:
established. RSA key fingerprint is de:56:2e:77:c9:5b:40:12:0c:f6:da:90:f3:cf:82:2d.
Are you sure you want to continue connecting (yes/no)?
Sur la machine distante:
Une fois connecté sur le serveur, on effectue les opération suivantes:
1 2 3 4 |
chmod 700 .ssh cd .ssh touch authorized_keys chmod 600 authorized_keys |
On édite le fichier authorized_keys et on y colle le contenu (qui devrait toujours être dans le presse-papier) du fichier id_rsa.pub, la clé publique générée sur la machine cliente un peu plus tôt…
1 |
nano authorized_keys |
On se déconnecte du serveur avec la commande:
1 |
logout |
Sur la machine cliente:
Maintenant il devrait être possible de se connecter sans mot de passe :
1 |
ssh root@mon.serveur.com |
Soyez le premier à commenter