J'essaie de configurer l'authentification ssh avec des fichiers clés à la place du nom d'utilisateur et du mot de passe. Le client est une boîte Windows exécutant PuTTY et le serveur est un serveur Ubuntu 12.04 LTS.
J'ai téléchargé puttygen.exe et lui ai fait générer une paire de clés. Dans /etc/ssh/sshd_config
J'ai cette ligne :
AuthorizedKeysFile %h/.ssh/authorized_keys
et sur le fichier de la clé publique de mon client, il est écrit ceci :
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "my@email.address.com"
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAr3Qo6T5XU06ZigGOd3eKvfBhFLhg5kWv8lz6
qJ2G9XCbexlPQGanPhh+vcPkhor6+7OmB+WSdHeNO652kTofnauTKcTCbHjsT7cJ
GNrO8WVURRh4fabknUHPmauerWQZ6TgRPGaz0aucU+2C+DUo2SKVFDir1vb+4u83
AV1pKxs=my@email.address.com
---- END SSH2 PUBLIC KEY ----
J'ai copié la partie de "ssh-rsa AAA" vers "my@email.address.com" et je l'ai mise dans le fichier ~/.ssh/authorized_keys
sur mon serveur (dans mon propre dossier personnel). Dans PuTTY, sous Connexion > SSH > Auth, j'ai entré le chemin de la clé privée générée sur mon client et j'ai enregistré les paramètres de la session.
J'ai redémarré le serveur ssh avec
sudo service ssh restart
Maintenant, si je charge le profil dans PuTTY (j'ai vérifié que la clé privée est toujours dans Connexion > SSH > Auth et que le chemin est correct) et que je lance le profil, il dit
Server refused our key
J'ai essayé de mettre la clé publique dans un fichier sous l'onglet répertoire ./ssh/authorized_keys/
mais cela n'a pas aidé alors j'ai utilisé ./ssh/authorized_keys
en tant que fichier en y collant la clé. J'ai également essayé de générer une paire de clés privée/publique sur le serveur, en plaçant la clé publique dans le fichier ./ssh/authorized_files
et en chargeant le privé dans PuTTY sur mon client. Le redémarrage du serveur n'a pas aidé non plus.
J'ai trouvé que l'erreur peut être résolue en mettant la clé dans un endroit en dehors du dossier personnel de l'utilisateur, mais cela n'est utile que si le dossier personnel est crypté, ce qui n'est pas le cas ici.
J'ai également essayé de générer une clé de 4096 bits, pensant que 1024 était peut-être trop court.
Comment faire pour que cela fonctionne ? Merci !
EDIT:
Ok, /var/log/auth.log
a dit :
sshd: Authentication refused: bad ownership or modes for directory /home/vorkbaard/.ssh
Google me dit ~/.ssh/
devrait être de 700 et et ~/.ssh/authorized_keys
devrait être de 600, donc j'ai fait ça. Maintenant /var/log/auth.log
dit :
sshd: error: key_read: uudecode AAAAB3N [etc etc etc until about 3/4 of my public key]