Jak sprawić, by ssh zignorował plik .ssh / config?

42

Mam następujące w mojej ~ / .ssh / config.

HOST 10.2.192.*
        USER foo
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/foo/id_rsa

Powyższa konfiguracja pozwala mi połączyć się z maszyną, wpisując o połowę mniej słów.

 ssh 10.2.192.x

Przed moją konfiguracją ssh musiałem wpisać wszystko:

 ssh [email protected] -i ~/.ss/foo/id_rsa

Jednak w podsieci 10.2.192.x jest jeden komputer, z którym chcę się połączyć przy użyciu uwierzytelniania opartego na hasłach zamiast uwierzytelniania opartego na kluczach.

Ponieważ ssh patrzy na mój plik konfiguracyjny i znajduje dopasowanie, PreferredAuthentications publickeynie mogę zalogować się tylko za pomocą mojego hasła.

Nie zamierzam ssh do tego specjalnego płatka śniegu vm wystarczająco często, aby uzasadnić dodanie nowej reguły do ​​mojej konfiguracji ssh.

Jak sprawić, by ssh zignorował mój plik konfiguracyjny tylko raz i pozwolił mi uwierzytelnić się za pomocą hasła?

Spuder
źródło

Odpowiedzi:

56

Aby twój sshklient zignorował plik konfiguracyjny, użyj ssh -F /dev/null [email protected]. Ponieważ podsieci za IdentityFile jest ~/.ssh/foozamiast ~/.ssh/, nie trzeba wzbudzać zupełnie nowy plik wystrzegać zachowanych swój klucz prywatny.

Ze strony podręcznika 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.
DopeGhoti
źródło
20

Uważam, że odpowiedź na to pytanie brzmi: jak zmusić klienta ssh do używania tylko uwierzytelniania hasłem?

ssh -o PubkeyAuthentication=no example.com
Andrew Stern
źródło
2
Ach, ale faktyczne pytanie (niezależnie od tytułu), po całej preambule, brzmiało: „Jak sprawić, by ssh zignorował mój plik konfiguracyjny tylko raz i pozwolił mi uwierzytelnić się za pomocą hasła?”
DopeGhoti