Mam problem z ssh na maszynę z użytkownikiem mw bez hasła.
Użyłem ssh-copy-id mw @ machine.
Szukałem w wielu miejscach i dużo googlowałem, ale wciąż nie mogłem znaleźć odpowiedzi.
Niektóre informacje:
- Te
/home/mw
uprawnienia:drwx------. 3 mw mw 109 Oct 18 09:29 mw
- Te
/home/mw/.ssh
uprawnienia:drwx------. 2 mw root 61 Oct 18 09:23 .ssh
- Uprawnienia do
/home/mw/.ssh
plików katalogowych:-rw-------. 1 mw mw 744 Oct 18 09:23 authorized_keys -rw-------. 1 mw root 1702 Oct 17 17:48 id_rsa -rw-------. 1 mw root 406 Oct 17 17:48 id_rsa.pub
Niektóre konfiguracje sshd:
cat /etc/ssh/sshd_config | grep PubkeyAuthentication
daje:PubkeyAuthentication yes
cat /etc/ssh/sshd_config | grep AuthorizedKeysFile
daje:AuthorizedKeysFile .ssh/authorized_keys
/home/mw/.ssh/authorized_keys
Zawiera prawidłowy klucz publiczny moim komputerze lokalnym, z którego staram sięssh
Inne przydatne informacje:
ssh root@machine
działa, alessh mw@machine
nie działa bez hasła- Jeśli uruchomię z rootem na komputerze,
/usr/sbin/sshd -D -p 2222
a następnie uruchomięssh -p 2222 mw@machine
na moim laptopie, działa to bez hasła
Czy ktoś może pomóc?
/home/mw/.ssh
katalog znajduje się powyżej lokalnego lub zdalnego? Jeśli jest to zdalny, nie powinien mieć klucza prywatnego, a jeśli jest to lokalny, jakie są uprawnienia do katalogu i plików na pilocie? Problemem może być także grupa „root”.
LogLevel VERBOSE
w /etc/ssh/sshd_config
i zrobiłem tail -f
na /var/log/secure
. Wynik był taki: kiedy próbowałem się połączyć i poprosił mnie o hasło, nic nie zostało zarejestrowane, jeśli anulowałem żądanie połączenia, pojawił się nowy wiersz dziennika Connection closed by ***** port **** [preauth]
zgodnie z oczekiwaniami.
LogLevel
na serwerze (wsshd_config
) i sprawdzić, czy sshd daje jakieś wyjaśnienie, dlaczego nie powiodło się uwierzytelnianie klucza publicznego.