Mam wątpliwości co do niektórych konfiguracji serwera ssh /etc/ssh/sshd_config
. Chcę następne zachowanie:
- Uwierzytelnianie za pomocą klucza publicznego jest jedynym sposobem uwierzytelnienia jako root (bez uwierzytelniania hasłem lub w inny sposób)
- Zwykli użytkownicy mogą korzystać zarówno z uwierzytelniania za pomocą hasła, jak i klucza publicznego
Jeśli ustawię, PasswordAuthentication no
mój pierwszy punkt jest spełniony, ale nie drugi. Istnieje sposób, aby ustawić PasswordAuthentication no
tylko dla roota?
ssh
authentication
mavillan
źródło
źródło
service ssh restart
na serwerze, a następnie na kliencie próbowałem połączyć się bez mojego kluczassh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@host
i rzeczywiście nie mogłem zalogować się hasłem, ale mogłem użyć klucza dla użytkownika root.ssh -o PreferredAuthentications=password root@host
niezbyt bezpieczneMożesz użyć
Match
bloków, aby skonfigurować niektóre opcje dla uwierzytelnienia użytkownika lub grupy lub adresu IP lub nazwy hosta źródła połączenia.źródło
Mam jeszcze bardziej restrykcyjne podejście do przyznawania uprawnień roota na moim serwerze, co może być interesujące dla takich paranoicznych jak ja. Uważaj na to, co robisz iw jakiej kolejności, w przeciwnym razie możesz skończyć z systemem, w którym nie można uzyskać dostępu do konta root.
sugroup
, której członkowie będą mogli zostać rootami i zezwalać na uwierzytelnianie klucza tylko dla tej grupy, umieszczając następujące wiersze na końcu sshd_confid:Match Group sugroup
PasswordAuthentication no
auth required pam_wheel.so group=sugroup
w/etc/pam.d/su
. Być może już tam jest, a ty musisz to anulować. Odmawia to dostępu rootowi wszystkim użytkownikom niebędącym członkami sugroupPermitRootLogin no
in/etc/ssh/sshd_config
.Przy użyciu tej konfiguracji konieczne jest użycie uwierzytelnienia klucza i hasła, aby zostać rootem. Skonfigurowałem mój serwer w ten sposób, ponieważ wolę nie mieć bezpośredniego dostępu do roota przez ssh, niezależnie od metody uwierzytelnienia.
źródło