J'ai des problèmes pour configurer OpenSSH pour Windows, en utilisant l'authentification par clé publique.
Je l'ai fait fonctionner sur mon bureau local et je peux utiliser une clé pour accéder à des machines Unix ou d'autres machines OpenSSH pour Windows.
J'ai répliqué le build sur un serveur, l'authentification par mot de passe fonctionne bien, mais lorsque j'utilise les clés, j'obtiens le problème suivant :
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug3: start over, passed a different list publickey,password,keyboard-interactive
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /cygdrive/c/sshusers/jsadmint2232/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
Connection closed by 127.0.0.1
Ainsi, pour les besoins du test, j'ai simplement essayé de SSH à localhost, mais même lorsque j'ai essayé à distance, j'ai eu le même problème.
Ce qui est encore plus étrange, c'est que lorsque le mot de passe et la clé publique sont tous deux activés dans l'application sshd_config
il n'essaiera d'utiliser que les clés, puis le message ci-dessus et n'essaiera même pas d'utiliser le mot de passe.
Voici les mesures que j'ai prises :
- Installer OpenSSH pour Windows
-
mkgroup -l >>..\etc\group
(ajout de groupes locaux) -
mkgroup -d >>..\etc\group
(ajout de groupes de domaines) -
mkpasswd -L -u openssh >>..\passwd
(ajout de mon utilisateur local) -
mkpasswd -D -u jsadmint2232 >>..\passwd
(ajout de l'utilisateur de mon domaine) - Modifié le homedir dans le fichier passwd pour pointer vers c : \sshusers %USER% - où %USER% est le nom de l'utilisateur
- Activation de l'authentification par mot de passe, désactivation de l'authentification par clé
- Création de clés SSH pour jsadmint2232 / OpenSSH et vérification que les fichiers ont été créés dans les répertoires personnels.
- Ajout des fichiers authorized_keys dans les répertoires .ssh pour chaque utilisateur et ajout des clés pour les utilisateurs qui se connectent.
-
net stop opensshd
/net start opensshd
- Testez si l'authentification par mot de passe fonctionne à la fois localement et à distance.
- Mise à jour de sshd_config, pour activer l'authentification par clé - redémarrer opensshd
- Tester la connexion et obtenir l'erreur ci-dessus. En outre, il ne tente même pas l'authentification par mot de passe.
- Mise à jour de sshd_config, pour désactiver complètement l'authentification par mot de passe - redémarrer opensshd
- Test de connexion et toujours l'erreur ci-dessus
Il semble que le serveur coupe la connexion pour une raison quelconque.