Czy istnieje sposób na tymczasowe wyłączenie uwierzytelniania za pomocą klucza publicznego podczas ssh'ing i zamiast tego używać uwierzytelniania za pomocą hasła?
Obecnie chcę uzyskać dostęp do zdalnego serwera, ale używam innego laptopa, nie mojego.
Przeglądając ten link , odkryłem, że polecenie ssh -o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no host1.example.org
nie działa wszędzie. I tak, to nie działa dla mnie. Używam: OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 marca 2012
Edycja: Próbowałem także pisać, ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no
ale nadal mam „Odmowa dostępu (publickey)”.
Czy jest więc określona konfiguracja na zdalnym serwerze, aby to polecenie działało? Lub kiedy to polecenie zadziała zgodnie z oczekiwaniami?
Wielkie dzięki za porady.
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no
Odpowiedzi:
To brzmi jak problem z konfiguracją po stronie serwera.
Jeśli serwer zezwala zarówno na uwierzytelnianie za pomocą klucza publicznego, jak i hasła, to nawet jeśli spróbujesz połączyć się bez pliku klucza prywatnego na kliencie, powinien poprosić o podanie hasła.
Jeśli
"Permission denied (publickey)"
pojawia się komunikat o błędzie, oznacza to, że uwierzytelnianie hasła nie jest obsługiwane na serwerze.Nie widząc pliku / etc / sshd_config, trudno jest wiedzieć, ale zgaduję, że musisz upewnić się, że istnieje następujący wiersz:
Zrestartuj serwer ssh, a kiedy łączysz się z klientem, powinieneś zostać poproszony o podanie hasła, jeśli nie ma klucza prywatnego lub jeśli klucz prywatny nie pasuje do klucza publicznego na serwerze.
Bardziej bezpieczną alternatywą dla tego byłoby oczywiście skopiowanie klucza prywatnego na używanego laptopa lub wygenerowanie nowego klucza prywatnego do użycia na tym laptopie i dodanie klucza publicznego do
.ssh/authorized_keys
źródło
Po prostu stwórz pusty plik identyfikatora.
Jeśli zostawisz pozwolenie 640 lub 644, ssh będzie narzekać, że uprawnienia nie są wystarczająco bezpieczne i nie będą z niego korzystać. Jeśli przeskoczysz na 600, wyświetli się 3 razy hasło i zakończy się niepowodzeniem, ponieważ nie ma hasła. Więc zostaw to 640 lub 644.
Następnie, gdy używasz ssh, użyj tego polecenia.
Możesz użyć .ssh / config i ustawić wpis hosta, aby nie używał klucza, ale jest to mniej tymczasowe lub możesz utworzyć aliasy dla serwera i nokey serwera, ale robi się to długo i jest trudne do utrzymania.
źródło
-i /dev/null
działa również i nie wymaga sprawdzania uprawnień.ssh
mówiLoad key "/dev/null": invalid format
, to i tak używa innych skonfigurowanych kluczy, a następnie nie może się zalogować z powodu zbyt wielu błędów uwierzytelnienia.