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?

CKoning
źródło
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.

ewwhite
źródło
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 ?

Nadszedł czas
źródło
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.

uSlackr
źródło