Jeśli korzystam z klucza publicznego z np. Ubuntu 11.04, jak mogę ustawić klienta ssh, aby używał tylko hasła do serwera? (potrzebne tylko z powodu testowania haseł na serwerze, na którym domyślnie loguję się za pomocą klucza)
Znalazłam drogę:
mv ~/.ssh/id_rsa ~/.ssh/id_rsa.backup
mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.backup
a teraz pojawia się monit o hasło, ale czy są jakieś oficjalne sposoby?
ssh
password
key-authentication
LanceBaynes
źródło
źródło
ssh -o GSSAPIAuthentication=no example.com
-o PubkeyAuthentication=no
W moim przypadku wystarczyło tylko .-o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no
zamiastPasswordAuthentication
. W rzeczywistości jestem tutaj, ponieważ chciałem przetestować, czy wyłączenie uwierzytelniania hasła działało poprawnie na moim hoście.Znalazłem skrót do tego celu:
Zwróć uwagę na dwukropek (
:
) i puste hasło po nim.źródło
mysql -u user -p
ssh
klient ślepo próbował niepowiązanymi kluczami prywatnymi uwierzytelnić się na nowo zainstalowanym serwerze i nadal być odrzucany z powodu maksymalnej liczby prób uzyskania dostępu bez pytania o hasło. Aby wymusić uwierzytelnianie hasłem dla tego pierwszego połączenia, musiałem użyć-o PreferredAuthentications=password
składni, a dwukropek nie miał zauważalnego efektu. Dlatego, chociaż warto spróbować tej sztuczki, nie należy polegać na niej jako na konsekwentnym zachowaniu.Oprócz metody opublikowanej przez scoopr, możesz ustawić opcje hosta w pliku konfiguracyjnym klienta ssh.
W swoim
.ssh
katalogu utwórz plik o nazwieconfig
(jeśli jeszcze nie istnieje) i ustaw uprawnienia na600
, możesz następnie utworzyć sekcje zaczynające się oda następnie ustaw opcje dla poszczególnych hostów, na przykład
żebyś mógł
w tym pliku, a następnie po prostu
i opcja zostanie odebrana.
źródło
~/.ssh/config
i dodałemPubkeyAuthentication no
Ostatnio tego potrzebowałem, ale żadna z powyższych opcji nie zadziałała,
ssh -v
pokazała, że opcje wiersza poleceń przekazane przez-o
przełącznik zostały zastąpione wartościami podanymi w moim~/.ssh/config
pliku.Zadziałało to:
Ze strony podręcznika
ssh
:Podziękowania dla tej odpowiedzi: Jak sprawić, aby ssh zignorował plik .ssh / config?
źródło
~/.ssh/config
, klucze się nie przydadzą, jeśli je podam-F /dev/null
.ssh -v
Dane wyjściowe pomagają w tym przypadku, wyraźnie pokazuje, że ponieważ mam wpis catch-all w mojej konfiguracji ssh*
, wybiera użycie klucza publicznego zamiast respektować opcje przekazane przez-o
przełącznik, jak w poprzednich odpowiedziach.~/.ssh/id_rsa
podana na stronie podręcznika. Te ścieżki są zakodowane na stałe w kliencie. Tylko upewnij się, że podajesz poprawnego użytkownika podczas testowania.Próbowałem kilka z tych odpowiedzi, ale
ssh -v
nadal pokazywałem, że moje klucze publiczne są wyciągane z mojego katalogu domowego. Jednak podanie fałszywego pliku tożsamości pomogło mi:Muszę to zrobić na stałe (do obejścia złamaną serwerem SSH w szafie zamontowane listwy APC - pobyt daleko od tych rzeczy, jeśli dbasz o bezpieczeństwo - tak skończyło się na wprowadzenie opcji w moim pliku konfiguracyjnym:
źródło
Odpowiedzi @scoopr i @Halil Özgür nie działały dla mnie.
To działało dla mnie:
Źródło: http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html
źródło
Upewnij się także, że
BatchMode=yes
w .ssh / config nie ma żadnych aktywnych. W przeciwnym razie nie masz szans na uzyskanie interaktywnego hasła.źródło
Być może jestem jedynym na świecie z tym problemem, ale miałem uruchomiony
ssh
inny system operacyjny (choco ssh w systemie Windows w powłoce cygwin) widziany za pośrednictwemwhich ssh
Tak więc rozwiązaniem było
Zanotuj pełną ścieżkę. Zrobiłem to po biegu
cyg-get openssh
źródło