Si j'utilise l'authentification par clé de pub, par exemple: sur un Ubuntu 11.04, comment puis-je configurer le client ssh pour utiliser uniquement l'authentification par mot de passe sur un serveur? (juste nécessaire à cause du test des mots de passe sur un serveur, où je me connecte par défaut avec la clé)
J'ai trouvé un moyen:
mv ~/.ssh/id_rsa ~/.ssh/id_rsa.backup
mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.backup
et maintenant on me demande un mot de passe, mais existe-t-il des moyens officiels?
J'ai récemment eu besoin de cela aussi, et j'ai trouvé ceci:
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no example.com
Vous devez vous assurer que le client n'est pas configuré pour interdire l'authentification par mot de passe.
J'ai découvert un raccourci à cet effet:
ssh user:@example.com
Notez les deux points (:
) et le mot de passe vide après.
En plus de la méthode publiée par scoopr, vous pouvez définir les options par hôte dans votre fichier de configuration client ssh.
Dans ton .ssh
répertoire, créez un fichier appelé config
(s'il n'existe pas déjà) et définissez les autorisations sur 600
, vous pouvez ensuite créer des sections commençant par
Host <some hostname or pattern>
puis définissez les options par hôte après cela, par exemple,
Host bob.specific.foo
user fred
Host *.home.example
user billy
port 9191
afin que vous puissiez avoir
Host server.to.test
PubkeyAuthentication=no
dans ce fichier, puis simplement
ssh server.to.test
et l'option sera récupérée.
J'ai récemment eu besoin de cela, mais aucune des options ci-dessus n'a fonctionné, ssh -v
a montré que les options de ligne de commande sont passées via -o
le commutateur a été écrasé par les valeurs spécifiées dans mon ~/.ssh/config
fichier.
Ce qui a fonctionné était le suivant:
ssh -F /dev/null <username>@<Host>
Depuis la page de manuel ssh
:
-F configfile
Specifies an alternative per-user configuration file. If a
configuration file is given on the command line, the system-wide
configuration file (/etc/ssh/ssh_config) will be ignored. The default
for the per-user configuration file is ~/.ssh/config.
Crédits à cette réponse: Comment puis-je faire en sorte que ssh ignore .ssh/config?
J'ai essayé quelques-unes de ces réponses, mais ssh -v
continuait de montrer que mes clés publiques étaient retirées de mon répertoire personnel. Cependant, spécifier un faux fichier d'identité a fait l'affaire pour moi:
ssh -i /dev/null Host
Je dois le faire en permanence (pour contourner le serveur SSH cassé dans une PDU montée en rack APC - rester loin loin de ces choses si vous vous souciez de la sécurité - donc j'ai fini par mettre l'option dans mon fichier de configuration:
Host apc1 apc2
KexAlgorithms +diffie-hellman-group1-sha1
IdentityFile /dev/null
Et assurez-vous également qu'il n'y a pas de BatchMode=yes
actif dans .ssh/config. Sinon, vous n'avez aucune chance d'obtenir une invite de mot de passe interactive.
Je suis peut-être le seul au monde à avoir ce problème, mais j'avais un ssh
d'un autre système d'exploitation en cours d'exécution (choco ssh dans Windows dans un cygwin Shell) vu via which ssh
La solution était donc de
/usr/bin/ssh [email protected]
Notez le chemin complet. Je l'ai fait après avoir exécuté cyg-get openssh
Les réponses @scoopr et @Halil Özgür n'ont pas fonctionné pour moi.
Cela a fonctionné pour moi:
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no [email protected]
Source: http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-Host-key-checking.html