J'ai ce qui suit dans ma ~/.ssh/config.
Host 10.2.192.*
USER foo
PreferredAuthentications publickey
IdentityFile ~/.ssh/foo/id_rsa
La configuration ci-dessus me permet de me connecter à une machine tout en tapant la moitié du nombre de mots.
ssh 10.2.192.x
Avant ma configuration ssh, je devais taper tout ça:
ssh [email protected] -i ~/.ss/foo/id_rsa
Cependant, il y a une machine dans le sous-réseau 10.2.192.x à laquelle je veux me connecter avec une authentification par mot de passe au lieu d'une authentification par clé.
Parce que ssh regarde mon fichier de configuration et trouve une correspondance pour PreferredAuthentications publickey
Je ne parviens pas à me connecter avec mon mot de passe uniquement.
Je n'ai pas l'intention de ssh dans ce vm spécial flocon de neige assez souvent pour justifier l'ajout d'une nouvelle règle à ma configuration ssh.
Comment puis-je faire en sorte que ssh ignore mon fichier de configuration une seule fois et me permette de m'authentifier avec un mot de passe?
Pour que votre client ssh
ignore votre fichier de configuration, utilisez ssh -F /dev/null [email protected]
. Parce que le fichier d'identité de votre sous-réseau est dans ~/.ssh/foo
plutôt que ~/.ssh/
, vous n'avez pas besoin de créer un tout nouveau fichier pour éviter votre clé privée existante.
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.
Je crois que cette question a déjà été répondue par: Comment forcer le client ssh à utiliser uniquement l'authentification par mot de passe?
ssh -o PubkeyAuthentication=no example.com