Domyślnie SSH nasłuchuje na porcie 22. Zmiana domyślnego portu SSH dodaje dodatkową warstwę bezpieczeństwa do Twojego serwera poprzez zmniejszenie ryzyka automatycznych ataków.
Ten poradnik wyjaśnia jak zmienić domyślny port SSH w Linuksie. Pokażemy również, jak skonfigurować zaporę sieciową, aby zezwolić na dostęp do nowego portu SSH.
Zmiana portu SSH #
Zmiana portu SSH obrazu jest prostym zadaniem. Wystarczy edytować plik konfiguracyjny SSH i zrestartować usługę.
Poniższe sekcje wyjaśniają, jak zmienić port SSH w systemie Linux.
Wybieranie nowego numeru portu #
W systemie Linux numery portów poniżej 1024 są zarezerwowane dla dobrze znanych usług i mogą być używane tylko przez root. Chociaż możesz użyć portu z zakresu 1-1024 dla usługi SSH, aby uniknąć problemów z alokacją portów w przyszłości, zaleca się wybranie portu powyżej 1024.
W tym przykładzie zmienimy port SSH na 5522, możesz wybrać dowolny port.
Dostosowanie zapory sieciowej #
Przed zmianą portu SSH, musisz dostosować zaporę sieciową aby zezwolić na ruch na nowym porcie SSH.
Jeśli używasz UFW, domyślnego narzędzia do konfiguracji firewalla w Ubuntu, uruchom następujące polecenie, aby otworzyć nowy port SSH:
sudo ufw allow 5522/tcp
W CentOS, domyślnym narzędziem do zarządzania firewallem jest FirewallD. Aby otworzyć nowy port, należy uruchomić:
sudo firewall-cmd --permanent --zone=public --add-port=5522/tcp
sudo firewall-cmd --reload
Użytkownicy systemu CentOS muszą również dostosować reguły SELinux:
sudo semanage port -a -t ssh_port_t -p tcp 5522
Jeśli używasz iptables jako zapory, aby otworzyć nowy port, uruchom:
sudo iptables -A INPUT -p tcp --dport 5522 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Konfiguracja SSH #
Otwórz plik konfiguracyjny SSH /etc/ssh/sshd_config
za pomocą edytora tekstu:
sudo vim /etc/ssh/sshd_config
Wyszukaj linię zaczynającą się od Port 22
. W większości przypadków linia ta zaczyna się od znaku hash (#
). Usuń znak hash #
i podaj nowy numer portu SSH:
Port 5522
Podczas modyfikacji pliku konfiguracyjnego SSH należy zachować szczególną ostrożność. Nieprawidłowa konfiguracja może spowodować, że usługa SSH nie zostanie uruchomiona.
Po wykonaniu tych czynności zapisz plik i uruchom ponownie usługę SSH, aby zastosować zmiany:
sudo systemctl restart ssh
W systemie CentOS usługa ssh ma nazwę sshd
:
sudo systemctl restart sshd
Aby sprawdzić, czy demon SSH nasłuchuje na nowym porcie 5522, wpisz:
ss -an | grep 5522
Wyjście powinno wyglądać tak:
tcp LISTEN 0 128 0.0.0.0:5522 0.0.0.0:*tcp ESTAB 0 0 192.168.121.108:5522 192.168.121.1:57638tcp LISTEN 0 128 :5522 :*
Usługiwanie się nowym portem SSH #
Aby określić port, należy wywołać polecenie ssh
, a następnie opcję -p <port_number>
:
ssh -p 5522 username@remote_host_or_ip
Jeśli regularnie łączysz się z wieloma systemami, możesz uprościć swój przepływ pracy, definiując wszystkie połączenia w pliku konfiguracyjnym SSH.
Zakończenie #
W tym poradniku dowiedziałeś się, jak zmienić port SSH na serwerze Linux. Powinieneś również skonfigurować uwierzytelnianie oparte na kluczach SSH i łączyć się z serwerami Linux bez podawania hasła.