Kiedy konfigurowałem Debian 6, zastanawiałem się, którzy użytkownicy oprócz roota, którego hasło mogę zalogować do mojego systemu przez SSH?
Podczas instalacji Apache 2 tworzony jest użytkownik o nazwie www-data. Czy ten użytkownik ma prawo zalogować się do mojego systemu za pośrednictwem SSH? Ale jeśli byłoby jakieś domyślne hasło do danych www, każdy mógł się zalogować, wydaje mi się mało prawdopodobne.
Gdzie mam listę użytkowników, którzy mogą logować się do mojego systemu przez SSH? Nie można znaleźć niczego w plikach konfiguracyjnych ssh.
sshd_config
pliku”. Niektóre systemy operacyjne są dostarczane z niedozwolonym loginem roota przez SSH.Domyślnie
SSH server
nawet nie jest zainstalowany. Musisz zainstalowaćopenssh-server
pakiet, zanim ktokolwiek będzie mógł SSH.Następnie każdy użytkownik musi przejść dwa testy:
Uwierzytelnianie SSH oznacza, że albo użytkownik musi mieć prawidłowe hasło,
/etc/shadow
albo ważny klucz publiczny SSH z odpowiednimi uprawnieniami w docelowym użytkowniku~/.ssh/authorized_keys
.Prawidłowe hasła są opisane dalej na
crypt(3)
stronie podręcznika , ale w zasadzie jeśli drugie pole użytkownika w polu/etc/shadow
jest czymś zaczynającym się$NUMBER$
, prawdopodobnie jest poprawne, a jeśli jest*
lub!
jest niepoprawne.Kontrole konta PAM zasadniczo oznaczają, że konto nie wygasło. Możesz to sprawdzić za pomocą
chage -l USERNAME
.Tak więc, odpowiadając na pytania, o ile wiem:
www-data
ma zaszyfrowane hasło*
i nie ma~www-data/.ssh/authorized_keys
plikugrep -v '^[^:]*:[!*]:' /etc/shadow
źródło