Dlaczego SSH prosi o hasło do mojego klucza prywatnego za każdym razem

9

Od wczoraj za każdym razem, gdy próbuję połączyć się z serwerem ssh, pojawia się pytanie o moje hasło. Co powinienem zrobić, aby SSH nie pytał o hasło za każdym razem.

Ben D.
źródło
Ślepe zgadnij przeze mnie: sprawdź, czy Twój klucz jest załadowany ssh-add -l.
jw013
Zakładam, że używasz kluczy ssh? Jeśli nie używasz keymanagera i masz niepuste hasło, jest to normalne. Użyj menedżera kluczy lub utwórz puste hasło dla swojego klucza. Myślę, że to pierwsze jest zalecane.
jeśli jest to „od wczoraj”, być może po prostu zaktualizowałeś swój system, a teraz ssh-agent już nie działa.
Coren

Odpowiedzi:

5

Włóż swój klucz publiczny hostnachine:~/.ssh/authorized_keysi upewnij się, że ma on odpowiednie uprawnienia - chmod 600. Aby uzyskać więcej informacji, zobacz stronę podręcznika man, sekcja UWIERZYTELNIANIE. Zauważ, że sshd może być skonfigurowany tak, aby nie pozwalał na tę metodę logowania, chociaż nie mogę pojąć, dlaczego.

Sardathrion - przeciw nadużyciom SE
źródło
Dziękuję, że zadziałało. Jednak czy mógłbyś mi wyjaśnić, dlaczego muszę go umieścić w uprawnionych kluczach i dlaczego wcześniej działał bez niego.
Ben D
1
Strona podręcznika zawiera informacje w sekcji UWIERZYTELNIANIE. Jeśli chodzi o to, dlaczego działało to wcześniej, nie mogę być pewien bez dostępu root do twoich maszyn i wykonywania niektórych prac kryminalistycznych.
Sardathrion - przeciwko nadużyciom SE
2
Możesz także użyć ssh-copy-id w celu automatycznego skopiowania klucza publicznego na docelowy host, jeśli nie chcesz / musisz skopiować go ręcznie.
Coren
2

Sprawdź uprawnienia do katalogu i uprawnienia do plików.

$HOME nie może być zapisywany przez grupę ani przez inne osoby.

$HOME/.sshmusi mieć 700uprawnienia, nieczytelne, zapisywalne lub wykonywalne przez grupę i inne.

$HOME/.ssh/authorized_keys nie może być zapisywany ani wykonywalny przez nikogo.

Jeśli okaże się, że uprawnienia nie są wystarczająco surowe, spróbuj dowiedzieć się, co spowodowało problem. Ostatnim razem, gdy mi się to przydarzyło, skompilowałem PHP od zera. Wykonanie make installjako root (Slackware) zmieniło uprawnienia i własność /lub, /homejak pamiętam, i uniemożliwiło ssh pracę z plikami authorized_keysi id_rsa.pubplikami, które istniały i działały przez wieki. Chcesz ustalić, co spowodowało problem, ponieważ zmiana własności katalogu i / lub uprawnień może się zdarzyć z powodu instalacji rootkita lub coś podobnego.

Bruce Ediger
źródło
To naprawiło to dla mnie .. Po naprawieniu moich uprawnień dodałem go za pomocą „ssh-add” .. po zamknięciu tego terminalu i ponownym otwarciu go i zrobieniu „ssh-add -l” (niższe L) mogłem zobaczyć swoją tożsamość , które działało .. Mógłbym SSH do wszystkich moich skrzynek bez konieczności wpisywania mojego klucza prywatnego przepustki 300+ razy dziennie !! Dziękuję Ci!
Henry van Megen