Jak zatrzymać monit o hasło SSH? [Zamknięte]

10

Mam właśnie otwarty serwer. Kiedy ssh as nt_deployer, prosi mnie o hasło ssh:

Nets-Mac-Pro:mysite emai$ ssh [email protected]
Enter passphrase for key '/Users/emai/.ssh/id_rsa': 
[email protected]'s password: 
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64)

Jednak gdy ssh as emainie pyta:

Nets-Mac-Pro:mysite emai$ ssh [email protected]
[email protected]'s password: 
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64)

Czy ktoś może mi powiedzieć, jak powstrzymać pojawienie się monitu o hasło nt_deployer?

bigpotato
źródło
Pobiegłem ssh-keygeni zadziałało
bigpotato
Prześlij swoje rozwiązanie i oznacz je jako odpowiedź - dzięki temu ServerFault nie będzie zawierał pytań „bez odpowiedzi”, które nie potrzebują żadnej pomocy.
TessellatingHeckler
Podczas biegu ssh-keygenprawdopodobnie zniszczyłeś poprzedni klucz. Czy wiesz, dlaczego miałeś taki?
Valmiky Arquissandas

Odpowiedzi:

4

Ta linia Enter passphrase for key '/Users/emai/.ssh/id_rsa': oznacza, że ​​Twój klucz jest chroniony hasłem wprowadzonym podczas generowania tego klucza za każdym razem, gdy go użyjesz, poprosi o hasło.

uruchamiając ssh-keygen jeszcze raz bez wpisywania hasła, wygenerowałeś kolejny klucz. Bez hasła w kluczu - bez pytania o hasło :)

oto cytat ze strony ssh-keygen:

Zwykle ten program generuje klucz i prosi o plik do przechowywania klucza prywatnego. Klucz publiczny jest przechowywany w pliku o tej samej nazwie, ale z dołączonym plikiem `` .pub ''. Program prosi również o podanie hasła. Hasło może być puste, aby wskazać brak hasła (klucze hosta muszą mieć puste hasło), lub może być łańcuchem o dowolnej długości. Hasło jest podobne do hasła, z tym że może to być fraza z ciągiem słów, interpunkcją, cyframi, białymi znakami lub dowolnym ciągiem znaków. Dobre hasła mają 10-30 znaków, nie są prostymi zdaniami ani w inny sposób łatwo je zgadnąć (angielska proza ​​ma tylko 1-2 bity entropii na znak i zapewnia bardzo złe hasła), i zawiera kombinację wielkich i małych liter, cyfr, i znaki niealfanumeryczne. Hasło można później zmienić za pomocą opcji -p.

Nie ma sposobu na odzyskanie utraconego hasła. Jeśli hasło zostanie utracone lub zapomniane, należy wygenerować nowy klucz, a odpowiedni klucz publiczny skopiować na inne maszyny.

stymulacja
źródło
Odkryłem, że SSH poprosi o podanie hasła, jeśli będzie miał problem z odczytaniem klucza prywatnego. Dałem mu pusty plik i poprosiłem o hasło.
makhdumi,
1
Oznacza to, że musisz wykonać, ssh -vaby zobaczyć rzeczywisty błąd, zwykle jest to problem z uprawnieniami, ponieważ plik klucza musi mieć 0600uprawnienia.
stymulacja
Możliwe też, że użytkownik nie jest właścicielem pliku klucza. Zdarza się to często podczas kopiowania kluczy od innych użytkowników.
Rusty Weber
@stimur 400 powinno wystarczyć
030
1
Ostrzeżenie: przynajmniej na moim OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017, openssh poprosi o hasło nawet na kluczu, który nie ma hasła, jeśli nie ma nowej linii po -----END OPENSSH PRIVATE KEY----- - po prostu dodanie nowej linii po tym powoduje, że przestaje prosić o hasło, dziwne rzeczy.
hanshenrik
3

Opierając się na odpowiedzi bodźca, tak, ssh prosi o hasło klucza. Co oznacza, że ​​używasz klucza w pierwszej kolejności.

Jeśli tego właśnie chcesz - klucz prywatny chroniony hasłem, możesz użyć go ssh-agentdo zapamiętania hasła (lub odszyfrowanego klucza prywatnego, nie jestem pewien, który z nich), abyś mógł się zalogować bez ponownego wpisywania hasła. Możesz to zapamiętać na czas nieokreślony lub przez określony czas.

man ssh-agenti man ssh-add!

Valmiky Arquissandas
źródło
co jeśli uruchomię ssh-agent, ssh-add, a po uruchomieniu komendy ssh nadal pyta o hasło? A kiedy wprowadzam hasło, pyta nawet o hasło, ponieważ myśli, że hasło jest prawdopodobnie błędne? Jeśli hasło jest niepoprawne, polecenie ssh-add również go nie zaakceptuje.
Darius.V
Dariusz: albo hasło jest niepoprawne, albo masz więcej niż jeden klucz. Wypróbuj ssh -vopcję.
Valmiky Arquissandas
Próbowałem -vvv. Po zapytaniu o hasło - mówi „nie podawaj hasła, spróbuj następnego klucza”. Ale pashprhase jest pustym ciągiem, więc po prostu nacisnąłem Enter. Następnie pisze „nie wysłaliśmy pakietu, wyłącz metodę” i „hasło authmethod_lookup”, a po kilku wiadomościach prosi o hasło. Próbowałem wpisać „” i wejść, a następnie napisano - złe hasło. I mam więcej niż jeden klucz, jeden z hasłem, drugi bez hasła. Ale przechodzę do polecenia ssh -i id_rsa i powinien wiedzieć, że używam jednego bez hasła
Darius.V
@ Darius.V: możesz wyraźnie określić klucz -i /path/to/keyi sprawdzić pełne wyjście ssh, a także zweryfikować uprawnienia do pliku klucza. Upewnij się, że używasz klucza publicznego, a nie prywatnego.
stymulacja