Konfiguracja dla wielu portów SSH


24

Muszę słuchać SSH na dwóch portach: 22 dla hostingu dostępu administratora i 26 dla regularnego dostępu. Chciałbym zabronić logowania roota na 26 i nie zezwalam na wszystkie IP poza portem wewnętrznym dla portu 22. To drugie można zrobić za pomocą reguł iptables, ale nie wiem o tym pierwszym. Jakieś pomysły?


3
root nigdy nie powinien mieć możliwości zalogowania się przez ssh; Kropka; Koniec opowieści; Buck zatrzymuje się tutaj; nigdy. Jeśli potrzebujesz dostępu do konta root, zaloguj się za pośrednictwem zwykłego użytkownika, a następnie przejdź na suwyższy poziom lub jeszcze lepiej sudo.
Chris S

6
Zezwolenie na logowanie do roota przez ssh jest całkowicie w porządku, jeśli ograniczysz je do uwierzytelnienia kluczem, a nawet uwierzytelnienia hasłem, jeśli sesja jest ograniczona do kontrolowanych adresów IP. „Nigdy” nie jest zbyt silne.
EightBitTony

3
Twierdzę, że istnieją sytuacje, w których sensowne jest posiadanie loginu root (np. Uszkodzenie systemu plików na partycji / home, wykluczając logowanie jako użytkownik standardowy). Jedną z rzeczy, które mogą pomóc, jest ustawienie PermitRootLoginparametru sshd_config na without-password. Pozwala to na logowanie roota tylko przez ssh z kluczem ssh. Uwierzytelnianie za pomocą hasła nie będzie działać.
ewwhite

Ten artykuł może być pomocny: everythingsysadmin.com/2010/09/…
TomOnTime

Odpowiedzi:


27

W /etc/ssh/sshd_configdokonaj następującej zmiany. Poszukaj linii, która mówi, Port 22i dodaj pod nią podobną linię.

Port 22
Port 26

Zapisz plik i zrestartuj demona sshd.

Robię to w sytuacjach, w których mam włączoną obsługę ssh dla użytkowników wewnętrznych na porcie 22, ale wymagam zewnętrznej łączności, powiedzmy, na porcie 2222. To wiąże demona ssh z obydwoma numerami portów.


6
Jak ograniczyć teraz logowanie do roota do portu 22?
sfałszowany

@faker Widziałem użycie zapory sieciowej / ograniczeń sieciowych w celu zapewnienia białej listy dostępu ip do zwykłego portu 22.
ThorSummoner

10

Możesz użyć -fopcji sshd, aby określić alternatywny plik konfiguracyjny. W pliku konfiguracyjnym musisz użyć

Port 26 

dyrektywa, aby zmienić port, na którym nasłuchuje sshd.

zestaw

PermitRootLogin no

aby wyłączyć logowanie roota

Możesz wtedy zrobić coś takiego

/usr/sbin/sshd -f /etc/ssh/sshd_config_port_26

Możesz skopiować standardowy skrypt startowy sshd i zmodyfikować go, aby móc uruchomić usługę portu 26 podczas uruchamiania.

Dlaczego to robisz ?


1
Zamiast posiadania dwóch całych plików konfiguracyjnych, jeśli chcesz, aby serwery były zasadniczo zasadniczo podobne, czy nie byłoby prostsze i bardziej odpowiednie dodanie-o PermitRootLogin yes -p 26
JamesTheAwesomeDude

3

Zakładając, że sshd będzie działał z plikiem konfiguracyjnym specyficznym dla wiersza poleceń, wtedy możesz utworzyć drugą konfigurację działającą na porcie 26 i wykonać drugi skrypt startowy, który odnosi się do tego portu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.