77 votes

Désactiver temporairement l'authentification par clé publique ssh du client

Y a-t-il un moyen de désactiver temporairement l'authentification par clé publique lors de l'ouverture d'une session ssh, et d'utiliser à la place l'authentification par mot de passe?

Je veux actuellement accéder à un serveur distant, mais j'utilise un autre ordinateur portable, pas le mien.

En consultant ce lien, j'ai trouvé que la commande ssh -o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no host1.example.org ne fonctionne pas partout. Et oui, ça ne fonctionne pas pour moi. J'utilise : OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012

Édit: J'ai aussi essayé de taper ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no mais j'ai toujours "Permission denied (publickey)".

Alors, y a-t-il une configuration spécifique à faire sur le serveur distant pour que cette commande fonctionne? Ou, quand cette commande fonctionnera-t-elle comme prévu?

Merci beaucoup pour vos conseils.

42 votes

Si vous avez suivi le lien à nouveau, quelqu'un a indiqué que votre méthode ne fonctionnait pas, mais celle-ci l'a fait : ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no

0 votes

@NikW Merci beaucoup, j'aurais peut-être dû le mentionner, j'ai également essayé la commande que vous proposez, mais j'ai toujours le message "Permission denied (publickey)".

1 votes

Juste rencontré ce problème car mon ordinateur portable avait une TONNE de touches et ssh a essayé toutes, et j'ai été rejeté avant même d'avoir une chance d'entrer le mot de passe. Merci de demander.

71voto

Mikhail Zakharov Points 481

Si vous souhaitez contourner l'authentification par clé lors de la connexion au serveur, il vous suffit d'exécuter :

ssh -o PubkeyAuthentication=no user@host

1 votes

Ne résout pas le problème pour moi.

2 votes

C'est ce que les gens cherchent lorsqu'ils recherchent "désactiver les clés ssh"

9voto

v25 Points 728

Cela ressemble à un problème de configuration du côté du serveur.

Si le serveur permet à la fois l'authentification par clé publique et par mot de passe, alors même si vous essayez de vous connecter sans qu'un fichier de clé privée ne soit présent sur le client, il devrait vous demander un mot de passe.

Si vous obtenez le message d'erreur "Permission denied (publickey)", alors cela signifie que l'authentification par mot de passe n'est pas prise en charge sur votre serveur.

Sans voir le fichier /etc/sshd_config, il est difficile de savoir mais je pense que vous devez vous assurer que la ligne suivante existe :

PasswordAuthentication yes

Redémarrez le serveur ssh, et lorsque vous vous connectez depuis le client, il devrait vous demander un mot de passe s'il n'y a pas de clé privée présente, ou si la clé privée ne correspond pas à la clé publique sur le serveur.

Une alternative plus sécurisée à cela serait bien sûr de copier votre clé privée sur l'ordinateur portable que vous utilisez, ou en réalité de générer une nouvelle clé privée à utiliser sur cet ordinateur portable et d'ajouter la clé publique à .ssh/authorized_keys

7 votes

Veuillez ne pas répondre à une question qui n'a pas été posée. Cela rend très ennuyeux pour les autres personnes qui trouvent cette question depuis Google.

6voto

shane Points 71

Faites simplement un fichier ID qui est vide.

touch $HOME/.ssh/blank

Si vous laissez la permission 640 ou 644, ssh se plaindra que les autorisations ne sont pas suffisamment sécurisées et ne l'utilisera pas. Si vous le changez en 600, il demandera un mot de passe 3 fois et échouera car il n'y a pas de mot de passe. Alors laissez-le simplement en 640 ou 644.

Ensuite, lorsque vous vous connectez en ssh, utilisez cette commande.

ssh -i $HOME/.ssh/blank nom-du-serveur-ou-ip

Vous pourriez utiliser .ssh/config et définir une entrée d'hôte pour ne pas utiliser la clé mais c'est moins temporaire ou vous pourriez créer des alias pour serveur et serveur-sans-clé mais c'est long et difficile à maintenir.

9 votes

-i /dev/null fonctionne également et ne nécessite pas de vérification des autorisations.

1 votes

Les fichiers vierges/null ne fonctionnent pas, ssh indique Load key "/dev/null": format invalide, puis il continue à utiliser les autres clés que vous avez configurées de toute façon, et échoue ensuite à se connecter en raison de trop d'échecs d'authentification.

0 votes

Pour moi, cela n'a pas fonctionné. Peut-être que mes identifiants ont été stockés dans le trousseau de clés gnome.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X