tutorial - SSH key-based login avec Putty
L’utilisation de clefs pour se connecter à un système unix par ssh peut être non seulement pratique (pas besoin de taper un password à chaque reconnection) mais aussi plus sécurisé que l’authentification traditionelle par mot de passe (si on désactive cette dernière!)
Depuis notre station windows il nous faut les logiciels Putty, Puttygen et pageant disponible sur la page de téléchargement de Putty.
On lance putty et on crée un nouveau profil pour notre serveur et on sauve la session avant de s’y connecter.
On lance puttygen pour générer notre paire de clefs, on choisi SSH-2 RSA de 1024 bits et on clic sur generate. Une fois nos clef générées on tape notre email dans le champs key comment, on choisi une passphrase que l’on confirme une 2ème fois et on clic sur save public key et save private key. On prends bien soins de ranger les clefs dans un endroit sûr !
On copie la clef dans la fenêtre de puttygen juste en dessous de la phrase “Public key pasting into OpenSSH authorized_keys file:”
Normalement vous devez avoir un shell ouvert avec putty sur votre serveur: on doit y coller notre clef publique:
mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys2
On colle notre clef précédement copiée de puttygen, on sauvegarde et on quitte puis
chmod 600 ~/.ssh/authorized_keys2
Testons maintenant ! On ouvre un autre putty et on load le profile pour notre serveur.
On va dans connection et on tape notre username dans le champ Auto-login username.
on va ensuite sur SSH et on choisi 2 dans preferred SSH protocol version.
puis dans SSH -> Auth on clic sur Browse et on indique le fichier de notre clef privée.
On reviens sur session et on sauvegarde nos changements.
On peut maintenant tester notre première connection SSH à l’aide de clefs !
On clic sur Open donc, et normalement le serveur nous demande notre passphrase puis nous identifie .
Si c’est le cas on peut alors désactiver l’authentification par mot de passe :
vi /etc/ssh/sshd_config
On change PasswordAuthentication no et UsePAM no puis on reload notre serveur ssh
/etc/init.d/sshd reload
Si vous obtenez un mesage du style
Trying public key authentication.
Key is of wrong type (PuTTY SSH2 private key)
C’est que vous essayez de vous connecter à un serveur ssh en utilisant le protocole SSH1. Vérifiez bien dans les options de votre profile putty pour ce serveur que vous avez coché “2″ ou “only 2″ dans preferred protocol version et ajoutez dans votre /etc/ssh/sshd_config
Protocol 2
Tout fonctionne ? ok mais il faut quand même taper la passphrase à chaque connection et si vous vous connectez plusieurs fois par jours ( voir par heure) cela peut devenir pénible. Heureusement Pageant est la pour nous identifier à chaque fois que c’est nécessaire ! On essaie ?
On double click sur Pageant, on click sur Add Key et on indique notre clef privée. On donne à Pageant notre passphrase et on click sur Close. Tant que Pageant tourne nous pouvons nous connecter à notre serveur sans avoir besoin de saisir la passphrase.
Simple et pratique non ?
December 4th, 2007 at 18:48
[...] tout il serait bon de jeter un coup d’oeil a mon post précédant sur Putty afin de pouvoir se connecter a notre machine a l’aide de clef [...]
February 23rd, 2008 at 9:36
Ok, mais :
1- le transfert de la clef peut se faire plus facilement via ssh-copy-id ;
2- authorized_keys2 est deprecated depuis… 2001 !
Il faut utiliser ~/.ssh/authorized_keys,
ce que fait par ailleurs ssh-copy-id