Którzy użytkownicy mogą domyślnie logować się przez SSH?

18
  1. 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?

  2. 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.

  3. 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.

JohnnyFromBF
źródło

Odpowiedzi:

20

Paradeepchhetri nie jest dokładnie poprawna.

Niezmodyfikowany Debian sshd_configma następujące cechy :

PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes

Dlatego logowanie przez ssh będzie działać tylko dla użytkowników, którzy mają wypełnione pole hasła /etc/shadowlub klucz ssh w ~/.ssh/authorized_keys. Zauważ, że domyślna wartość PubkeyAuthenticationto yesi for PermitEmptyPasswordsto no, więc nawet jeśli je usuniesz, zachowanie będzie takie samo.

W przykładzie pytania www-datadomyślnie nie będzie można się zalogować, ponieważ instalator Debiana nie przypisuje hasła ani nie tworzy klucza www-data.

pam_access, AllowUsersA AllowGroupsw sshd_configmoże być używany do sterowania drobniejszej jeśli to potrzebne. W Debianie jest to bardzo zalecane UsePAM.

bahamat
źródło
10

Domyślnie logowanie jest dozwolone dla wszystkich użytkowników Debiana.

Możesz to zmienić, zezwalając niektórym użytkownikom na logowanie się poprzez edycję /etc/ssh/sshd_configpliku.

Jak wspomniano na stronie podręcznika sshd_config.

AllowUsers

Po tym słowie kluczowym może znajdować się lista wzorców nazw użytkowników oddzielonych
spacjami. Jeśli jest określony, logowanie jest dozwolone tylko dla nazw użytkowników, które pasują do jednego z wzorców. Poprawne są tylko nazwy użytkowników; numeryczny identyfikator użytkownika nie jest
rozpoznawany. Domyślnie logowanie jest dozwolone dla wszystkich użytkowników. Jeśli wzorzec przybierze USER@HOSTwtedy formę USERi HOSTzostanie osobno sprawdzony, ograniczenie logowania do określonych użytkowników z określonych hostów. Allow / deny Dyrektywy są przetwarzane w następującej kolejności: DenyUsers, AllowUsers, DenyGroup, i wreszcie AllowGroups.

pradeepchhetri
źródło
Dodałem „na Debianie” na wypadek, gdyby ktoś przyszedł i przeczytał tytuł pytania i odpowiedział bez czytania samego pytania. Ogólna odpowiedź na tytuł pytania brzmi: „zależy to od zawartości dostarczonego sshd_configpliku”. Niektóre systemy operacyjne są dostarczane z niedozwolonym loginem roota przez SSH.
Warren Young,
Dzięki, ale oczywiście domyślnie tylko root może się zalogować, ponieważ jest on jedyny z hasłem w / etc / shadow.
JohnnyFromBF
7

Domyślnie SSH servernawet nie jest zainstalowany. Musisz zainstalować openssh-serverpakiet, zanim ktokolwiek będzie mógł SSH.

Następnie każdy użytkownik musi przejść dwa testy:

  • Uwierzytelnianie SSH
  • Czeki na koncie PAM

Uwierzytelnianie SSH oznacza, że ​​albo użytkownik musi mieć prawidłowe hasło, /etc/shadowalbo 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/shadowjest 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:

  1. Tylko root i konto utworzone podczas kreatora instalacji mogą zalogować się w nowym systemie
  2. Nie, ponieważ www-datama zaszyfrowane hasło *i nie ma ~www-data/.ssh/authorized_keyspliku
  3. Nie ma jednej listy, ponieważ istnieje wiele wymagań, ale aby uzyskać pomysł, możesz spróbować uruchomić grep -v '^[^:]*:[!*]:' /etc/shadow
Mikel
źródło
1
Uważaj, puste hasło jest prawidłowym hasłem, ale jak wskazał bahamat , domyślna konfiguracja SSH (i domyślna konfiguracja Debiana) nie zezwala na logowanie SSH dla pustych kont z hasłami.
Totor