Właśnie zainstalowałem Ubuntu 14.04 na moim serwerze i konfigurowałem wszystkie moje pliki konfiguracyjne, gdy natknąłem się na to w moim sshd_config
pliku:
# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes
To mnie bardzo martwiło. Pomyślałem, że możliwe jest, że ktoś zaloguje się na mój serwer jako root bez hasła.
Próbowałem połączyć się z moim serwerem jako root przez:
johns-mbp:~ john$ ssh [email protected]
The authenticity of host '192.168.1.48 (192.168.1.48)' can't be established.
RSA key fingerprint is 40:7e:28:f1:a8:36:28:da:eb:6f:d2:d0:3f:4b:4b:fe.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.48' (RSA) to the list of known hosts.
[email protected]'s password:
Podałem puste hasło i nie wpuściło mnie, co było ulgą. Więc moje pytanie brzmi: co oznacza bez hasła i dlaczego jest to domyślne w Ubuntu 14.04?
without-password
oznacza wszelkie metody dozwolony z wyjątkiem hasła? To naprawdę brzmi jak „wolno się logować bez potrzeby podawania hasła”.PermitRootLogin now accepts an argument of 'prohibit-password' as a less-ambiguous synonym of 'without-password'.
W rzeczywistości to ustawienie praktycznie nie działa, jeśli używasz uwierzytelniania PAM. Na dole
sshd_config
pliku konfiguracyjnego znajdziesz:Domyślnym ustawieniem w Ubuntu jest użycie uwierzytelnienia PAM:
źródło
no
nie sprawi,PermitRootLogin without-password
że zadziała! :(ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip
i to~/.ssh/authorized_keys
weź pod uwagę, jeśli nie możesz zalogować się jako root, nie utworzyłbyś tego pliku w /root/.ssh/, ale działa, jeśli skopiujesz plik tamNależy pamiętać, że istnieją uzasadnione powody, aby zalogować się przez root (ale przy użyciu kluczy kryptograficznych i nigdy hasła). Typowym przykładem jest zdalna synchronizacja dwóch serwerów (aby jeden z nich był używany jako tryb failover). Ponieważ struktura musi być identyczna, często wymagane jest hasło roota.
Oto przykład użycia unison do synchronizacji: https://serverfault.com/questions/341985/remotely-use-root-over-ssh-for-unison
źródło
sudo
grupy również nie pozwoli ci to zrobić?W nowszych wersjach sshd zmieniono „bez hasła” na „zabrania hasła”.
Obie wersje działają, prawdopodobnie najlepiej użyć „zabroń hasła”, jeśli możesz: lepiej się tłumaczy.
źródło