Connexion SSH sans mot de passe

Connexion SSH sans mot de passe

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:

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.

cat /root/.ssh/id.rsa.pub

On se connecte ensuite sur la machine distante:

ssh [email protected]

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:

The authenticity of host 'mon.serveur.com (192.168.0.1)' can't be 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:

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…

nano authorized_keys

On se déconnecte du serveur avec la commande:

logout

Sur la machine cliente:

Maintenant il devrait être possible de se connecter sans mot de passe :

ssh [email protected]