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?
24
su
wyższy poziom lub jeszcze lepiejsudo
.PermitRootLogin
parametru sshd_config nawithout-password
. Pozwala to na logowanie roota tylko przez ssh z kluczem ssh. Uwierzytelnianie za pomocą hasła nie będzie działać.Odpowiedzi:
W
/etc/ssh/sshd_config
dokonaj następującej zmiany. Poszukaj linii, która mówi,Port 22
i dodaj pod nią podobną linię.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.
źródło
Możesz użyć
-f
opcji sshd, aby określić alternatywny plik konfiguracyjny. W pliku konfiguracyjnym musisz użyćdyrektywa, aby zmienić port, na którym nasłuchuje sshd.
zestaw
aby wyłączyć logowanie roota
Możesz wtedy zrobić coś takiego
Możesz skopiować standardowy skrypt startowy sshd i zmodyfikować go, aby móc uruchomić usługę portu 26 podczas uruchamiania.
Dlaczego to robisz ?
źródło
-o PermitRootLogin yes -p 26
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.
źródło