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.
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.
Odpowiedzi:
Włóż swój klucz publiczny hostnachine:~/.ssh/authorized_keys
i 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.
Sprawdź uprawnienia do katalogu i uprawnienia do plików.
$HOME
nie może być zapisywany przez grupę ani przez inne osoby.
$HOME/.ssh
musi mieć 700
uprawnienia, 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 install
jako root (Slackware) zmieniło uprawnienia i własność /
lub, /home
jak pamiętam, i uniemożliwiło ssh pracę z plikami authorized_keys
i id_rsa.pub
plikami, 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.
ssh-add -l
.