Authentification SSH sans mot de passe

Une connexion SSH nécessite l’accès via un identifiant et un mot de passe. Il est possible de se connecter sans mot de passe via l’utilisation de clés RSA.

Création du couple clé publique/clé privée avec ssh-keygen

La première étape consiste à se générer une clé privée et une clé publique avec la commande ssh-keygen. Nous laisserons les paramètres par défaut :

ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ludo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/ludo/.ssh/id_rsa.
Your public key has been saved in /home/ludo/.ssh/id_rsa.pub.

Les clés sont sauvegardées dans le répertoire .ssh de votre home. La clé publique se nomme id_rsa.pub et la clé privée id_rsa.

Envoyer la clé publique sur le serveur distant avec ssh-copy-id

Il est à présent nécessaire d’ajouter votre clé publique dans les authorized_keys du serveur distant. pour ce faire lancer la commande :

ssh-copy-id -i ~/.ssh/id_rsa.pub <serveur_distant>

Indiquer le mot de passe d’accès SSH au serveur (c’est la dernière fois). La clé est à présent ajoutée au fichier authorize_keys du serveur.

Il ne reste plus qu’à tester en lançant une connexion SSH. Si tout c’est bien déroulé, l’accès s’effectue sans saisi de mot de passe.