Mémo pour mettre en place une authentification par clé lors d’une connexion SSH.
Connexion SSH de serveur à serveur
Cas d’une connexion à partir d’un serveur Debian (le client), en général le proxy, vers le serveur de destination.
Les manipulations qui suivent se font sur le serveur client.
Générez la clé privée publique :
1 |
ssh-keygen -t dsa -f ~/.ssh/ip_ou_ndd -C "Serveur ip_ou_ndd" |
Exemple :
1 |
ssh-keygen -t dsa -f ~/.ssh/192.168.0.10 -C "Serveur test.jebau.lan" |
Copiez la clé publique sur le serveur de destination :
1 |
ssh-copy-id -i ~/.ssh/ip_ou_ndd.pub "-p x22x utilisateur_ssh@ip_ou_ndd" |
Exemple :
1 |
ssh-copy-id -i ~/.ssh/192.168.0.10.pub "-p 1221 jbnet-user@test.jbnet.lan" |
Notez le port passé en paramètre. A modifier pour correspondre au port que vous avez configuré sur le serveur de destination.
ssh-copy-id copie le contenu du fichier ip_ou_ndd.pub, c-a-d la clé publique, dans le fichier ~/.ssh/authorized_keys sur le serveur de destination.
Sur le serveur client, ajoutez ces lignes dans le fichier ~/.ssh/config :
1 2 3 4 5 |
Host ip HostName ndd User utilisateur_ssh PasswordAuthentication no IdentityFile ~/.ssh/ip_ou_ndd |
Exemple :
1 2 3 4 5 |
Host 192.168.0.10 HostName test.jebau.lan User jbnet-user PasswordAuthentication no IdentityFile ~/.ssh/192.168.0.10 |
A partir de là, vous pouvez vous connecter en utilisant cette commande :
1 |
ssh ip_ou_ndd |
ip_ou_ndd correspond au nom du fichier généré avec ssh-keygen.
Exemple :
1 |
ssh 192.168.0.10 |
Connexion SSH à partir de Tera Term
Tera Term est un client ssh pour Windows.
Je le préfères à PuTTY, chacun ses goûts…
Lancez Tera Term et fermez la fenêtre de connexion pour garder la fenêtre principale.
Cliquez sur le menu « Configuration » puis « SSH générateur de clé »
- Type de clé : RSA
- Nbre Bits : 2048
Cliquez sur le bouton « Générer »
Laissez vide les 2 champs « Phrase secrète »
« Comment: » : saisir un commentaire vous permettant de reconnaitre votre clé. Exemple : l’URL du serveur ou son IP.
Cliquez sur le bouton « Sauv. clé publique » et enregistrez le fichier quelque part sur votre disque dur.
Faire de même en cliquant sur le bouton « Sauv. clé privée »
Il faut maintenant copier le contenu du fichier .pub, c-a-d la clé publique, dans le fichier ~/.ssh/authorized_keys sur le serveur de destination.
Ouvrez le fichier .pub avec un éditeur de texte comme PSPad ou Notepad++.
Connectez-vous à votre serveur en ssh normalement, c-a-d avec votre mot de passe.
Allez dans le répertoire ~/.ssh et éditez ou créez le fichier authorized_keys
Coller le contenu du .pub dans le fichier authorized_keys.
Enregistrez le fichier.
Veuillez à ce que le fichier ait les droits 600 :
1 |
chmod 600 authorized_keys |
Vous pouvez vous déconnecter du serveur.
Maintenant vous pouvez utiliser Tera Term pour vous connectez à votre serveur en utilisant la clé d’authentification.
Dans l’écran « SSH Authentification » de Tera Term, saisissez l’utilisateur (comme d’habitude), mais sans le mot de passe.
Sélectionnez « Utiliser clé RSA/DSA/ECDSA… » et cliquez sur le bouton « Fichier clé privée ».
Allez chercher le fichier correspondant à la clé privée, c’est à dire le fichier sans extension .pub.
Cliquez sur le bouton « Ok »
Vous êtes connecté !