J'ai une configuration de serveur 12.10 dans une machine virtuelle avec son réseau défini sur ponté (essentiellement sera considéré comme un ordinateur connecté à mon commutateur).
J'ai installé opensshd via apt-get et j'ai pu me connecter au serveur en utilisant putty avec mon nom d'utilisateur et mon mot de passe.
J'ai ensuite essayé de lui faire utiliser l'authentification par clé publique/privée. J'ai fait ce qui suit:
Généré les clés en utilisant PuTTYgen.
Déplacement de la clé publique vers /etc/ssh/myusername/authorized_keys (J'utilise des répertoires personnels cryptés).
Lorsque je me connecte à l'aide de putty ou WinSCP, j'obtiens une erreur indiquant qu'aucune méthode d'authentification prise en charge n'est disponible (clé publique envoyée par le serveur).
Si je cours sshd en mode débogage, je vois:
PAM: initializing for "username"PAM: setting PAM_RHOST to "192.168.1.7"PAM: setting PAM_TTY to "ssh"userauth-request for user username service ssh-connection method publickey [preauth]attempt 1 failures 0 [preauth]test whether pkalg/pkblob are acceptable [preauth[Checking blacklist file /usr/share/ssh/blacklist.RSA-1023Checking blacklist file /etc/ssh/blacklist.RSA-1023temporarily_use_uid: 1000/1000 (e=0/0)trying public key file /etc/ssh/username/authorized_keysfd4 clearing O_NONBLOCKrestore_uid: 0/0Failed publickey for username from 192.168.1.7 port 14343 ssh2Received disconnect from 192.168.1.7: 14: No supported authentication methods available [preauth]do_cleanup [preauth]monitor_read_log: child log fd closeddo_cleanupPAM: cleanup
Pourquoi cela se produit-il et comment puis-je résoudre ce problème?
Il semble qu'il y ait eu un problème avec mon fichier de clé publique. PuTTYgen va créer un fichier de clé publique qui ressemble à:
---- BEGIN SSH2 PUBLIC KEY ----Comment: "rsa-key-20121022"AAAAB3NzaC1yc2EAAAABJQAAAIEAhGF6GIuMY8FJ1+CNApnSY1N2YSlkYz72Yvwua6N1nFpBklz1+dsIMg4rcTLcF34M/tW5Yz+NUDAw2AEbxQ32FPgw7sAOIXktkYOHtr7mmimiTjkoSCrJh1kqalPSpi8rglT/Bp67Ql2SZwvUFfMzHISryR0EZC4rXP/uvObrJe8=---- END SSH2 PUBLIC KEY ----
Cependant, cela ne fonctionnera pas, donc ce que vous devez faire est d'ouvrir la clé dans PuTTYgen, puis de la copier à partir de là (il en résulte que la clé est au bon format et sur 1 ligne):
Juste un conseil que j'espère peut aider quelqu'un d'autre avec les maux de tête que j'ai eus. F21 a raison de dire que vous devez copier la clé hors de la fenêtre PuTTYgen au lieu d'enregistrer le fichier, mais après la copie, la façon dont vous collez peut avoir un impact significatif sur le fait que votre clé fonctionnera ou non. Certains éditeurs modifieront le texte au fur et à mesure que vous collez, ou feront quelque chose avec des retours à la ligne ou quelque chose qui rendra le fichier authorized_keys invalide.
Ce que j'ai trouvé le moins susceptible de casser, c'est de faire écho à la chaîne complète et de rediriger la sortie vers le fichier. Un clic droit dans PuTTY pour coller la chaîne de clé dans la ligne de commande, cela fonctionne comme ceci (avec l'exemple donné ci-dessus):
>>>Un autre avantage de cette méthode est que vous pouvez ajouter plusieurs clés de cette façon en utilisant pour ajouter au lieu d'écraser, par exemple:
Nous utilisions déjà le bon type de clé (ppk au lieu de pem)..
Dans notre cas, il s'agissait d'un problème avec les autorisations de fichier pour authorized_keys sur le dossier utilisateur du serveur. Ce doit être-rw-r r r.... C'était -rw-rw-r--
ssh est très pointilleux sur les perms de fichiers.
Vous devez télécharger le PuTTYgen et générer une clé publique et une clé privée.
J'ai attribué un mot de passe à ma clé privée.
>>>configurez ensuite la clé privée dans putty. Putty-SSH-Auth-Accédez à votre privé.
Assurez-vous que vous avez le même chemin pour la clé privée et la clé publique.
Vous devez configurer la clé publique sur le serveur. (Dans mon cas, j'ai parlé avec le gars du serveur et lui ai demandé s'il pouvait ajouter ma clé publique au serveur). Vous avez besoin de la clé publique de l'autre côté (serveur) de la connexion.
Dans mon cas, la raison en était ce fichier de clé privée (.ppk) avait été supprimé dans l'agent d'authentification Putty, c'est-à-dire le concours. Je viens de le mettre à jour à nouveau pour Pageant là-bas et la connexion a parfaitement fonctionné après cela.
Dans mon cas, j’ai deux instances AWS. L’un d’eux fonctionne parfaitement, l’autre fonctionne lors de la connexion via Intellij Idea, mais pas à partir de Putty, mais cela fonctionnait au début. Donc, dans mon cas, il doit s’agir de mastic