Liczba połączeń SSH na jednym komputerze z systemem Linux

14

Znalazłem się w sytuacji, gdy musiałem uzyskać dostęp do komputera z systemem Linux za pośrednictwem puTTY. Podejmowałem różne próby SSH, ale nie udało mi się połączyć z maszyną. Potem zdałem sobie sprawę, że mój kolega ma dostęp do tego samego komputera z Linuksem, co użytkownik root, i ja również chciałem uzyskać dostęp jako użytkownik root. Poprosiłem go, aby się wylogował, aby móc zalogować się jako użytkownik root. Czy istnieje sposób na ograniczenie liczby logowania SSH w systemie Linux? Czy to jakaś funkcja bezpieczeństwa, która odróżnia system operacyjny Windows od systemu operacyjnego Linux.

zawirowania
źródło
1
Chcesz powiedzieć, że możesz się zalogować jako root po wylogowaniu? Chcesz wiedzieć, jak i gdzie można ustawić ten limit?
Matt
tak, jestem w stanie zalogować się jako root po wylogowaniu
turmoilawa czeka

Odpowiedzi:

8

Tak, możliwe jest ograniczenie liczby równoczesnych sesji logowania, chociaż większość dystrybucji Linuksa nie nakłada takich limitów w ustawieniach domyślnych.

Linux jest z założenia właściwym systemem dla wielu użytkowników i zwykle nie powinieneś mieć żadnych problemów z posiadaniem wielu równoczesnych sesji SSH dla tego samego użytkownika.

Serwer SSH może narzucić takie ograniczenia za pomocą MaxSessionsopcji w pliku konfiguracyjnym. Poprzez PAM możesz nałożyć takie ograniczenia, jak inni już zauważyli.

HBruijn
źródło
Używam Cent OS 6.4. Czy ogranicza to równoczesne sesje SSH?
zawirowania czekają
Nie domyślnie.
HBruijn
7

Prawdopodobnie masz limity ustalone w /etc/security/limits.confjak tak

root hard maxlogins 1

W razie potrzeby zmień limit (1) na wyższy.

Matt
źródło
To ustawienie nie wpływa na jednoczesne logowanie SSH na Centos6
bbaassssiiee
Jest to limit, który PAM mógłby wyszukać. Jeśli zezwolisz na logowanie roota za pomocą kluczy ssh, to ...
Matt
2

Próba przekonania autonomicznego sshddemona do ograniczenia liczby sesji jest pełna luk. Rzeczy takie jak MaxSessionsograniczenie czegoś innego niż to, o czym mówi OP. I sshdignoruje limits.confw systemie Linux (podobnie login.confw FreeBSD), chyba że odpowiednio skonfigurujesz rzeczy, aby kierować wszystkie sesje przychodzące przez PAM i użyjesz odpowiednio skonfigurowanego modułu PAM, aby najpierw sprawdzić takie rzeczy, jak limit.conf. Trudno jest dobrze działać.

Z drugiej strony, jeśli nie zaczynasz sshdjako samodzielny demon, możesz użyć funkcji ograniczających w „rzecz”, która pojawia się sshdna żądanie.

Na przykład inetdi xinetdmają funkcję ograniczania połączeń (która zwykle nie wymusza żadnego ograniczenia liczby rozwidlonych dzieci). W wersji klasycznej inetdnazywa się to „max-child”. Z xinetdposzukaj instancespokrętła konfiguracji. Na przykład inetdstyl:

ssh  stream  tcp  nowait/3  root  /usr/sbin/sshd  sshd -i -4

To ogranicza liczbę jednoczesnych połączeń ssh do 3.

Dla tych, którzy są tak skłonni, systemdmogą zastąpić funkcję inetdi uważam, że istnieje sposób na ograniczenie liczby wystąpień usługi. Ćwiczenia pozostawione czytelnikowi (lub dodaj komentarz ze szczegółami!).

Juan
źródło