Wyłącz uwierzytelnianie hasła w ssh

32

Postępowałem zgodnie z następującym przewodnikiem:

Ale nadal można ssh w maszynie, wprowadzając hasło (wypróbowane na Win z Kit)

Jakakolwiek rada?

Nowicjusz
źródło
Czy zrestartowałeś serwer ssh?
Radu Rădeanu
1
sudo /etc/init.d/ssh reload
noob
proszę zaznaczyć odpowiedź, jeśli zadziałało
Efren

Odpowiedzi:

54

Po wymianie linii:

#PasswordAuthentication yes

z linią:

PasswordAuthentication no

w /etc/ssh/sshd_configi zapisałeś plik, musisz zrestartować serwer ssh za pomocą następującego polecenia w terminalu:

sudo service ssh restart

lub:

sudo restart ssh
Radu Rădeanu
źródło
czy to nie to samo: sudo /etc/init.d/ssh reload
noob
@ noob Jak widać, to nie to samo.
Radu Rădeanu,
Jaka jest różnica między restartowaniem sshusługi a restartowaniem sshdusługi? Dlaczego chcemy zrestartować ssh zamiast sshd?
Hatszepsut
1
@Hatshepsut: to kwestia Ubuntu i jest cholernie denerwująca. W systemach opartych na Red Hat jest to „service sshd”
Dmitri
0

Przed wyłączeniem uwierzytelniania hasłem ssh upewnij się, że dostęp z kluczem prywatnym działa zgodnie z oczekiwaniami. Po potwierdzeniu możesz wyłączyć uwierzytelnianie za pomocą hasła. Sugeruję następujące zmiany, aby jeszcze bardziej zabezpieczyć serwer.

Edytuj plik za pomocą: sudo nano /etc/ssh/sshd_config

Upewnij się, że w pliku są włączone następujące wartości:

PermitRootLogin no

PasswordAuthentication no

ChallengeResponseAuthentication no

UsePAM no

Zapisz plik, a następnie uruchom ponownie usługę ssh

sudo service ssh restart

lub

sudo systemctl restart ssh
Wojciech Jakubas
źródło
Czy możesz wyjaśnić, co robią te ustawienia?
php_nub_qq