SSH (Secure Shell) jest programem służącym między innymi do logowania i zdalnego wykonywania komend na maszynach opartych o jądro Linuxa. Ten post przedstawia konfigurację i wstępne zabezpieczenie logowania na serwer Linux.
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address]
[-c cipher_spec] [-D [bind_address:]port] [-E log_file]
[-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file]
[-J destination] [-L address] [-l login_name] [-m mac_spec]
[-O ctl_cmd] [-o option] [-P tag] [-p port] [-R address]
[-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
destination [command [argument ...]]
ssh [-Q query_option]
SSH – status usługi
SSH jest standardem niemal w każdej dystrybucji Linux. Jej obecność i status można zobaczyć za pomocą komendy:
systemctl status sshd
Efekt tej komendy powinien być podobny do tego na poniższym obrazku:

Konfiguracja usługi
Standardowo usługa skonfigurowana jest na porcie nr 22. Port 22 jest najczęściej skanowanym portem przez boty.
Zawiera też wbudowaną komendę SFTP (odpowiadająca za transfer plików)
Możliwe jest też zalogowanie się za pomocą konta root – logowanie za pomocą konta root jest wysoce niezalecane i należy to zmienić w ustawieniach.
Dodatkowo zmienimy domyślne logowanie za pomocą hasła na logowanie za pomocą klucza.
Plikiem konfiguracyjnym usługi jest plik:
/etc/ssh/sshd_config
Aby zmienić parametry należy plik otworzyć edytorem tekstowym (w moim przypadku jest to vi/vim)
Zmiana domyślnego portu odbywa się w około 20 linii – należy szukać słowa kluczowego Port. Jeżeli przed tym wyrazem występuje znak # należy ten znak usunąć, następnie ustanowić dowolną liczbę dla portu (w moim przypadku jest to 7541)
Przy okazji w około 39 linii należy parametr PerminRootLogin ustawić na no
Możesz również opcjonalnie zakomemtować (linia około 117) domyślnie ustawiony transfer plików (jeśli nie będzie wykorzystywany).
Wyszukaj ciąg Subsystem sftp i wstaw na początku znak #

Po zapisaniu pliku z nowymi ustawieniami należny przeładować usługę openSSH:
systemctl reload sshd
Przed przeładowaniem należy pamiętać o odpowiedniej konfiguracji firewalla (nalezy otworzyć port na którym ustawiliśmy wcześniej usługę). Informacje jak skonfigurować firewall w różnych dystrybucjach Linux znajdziesz w xxx
Opcjonalnie można wyłączyć logowanie hasłem i logować się za pomocą klucza SSH. Informacje jak to zrobić znajdziesz TUTAJ
Aby zalogować się pomocą nowych ustawień należy sprecyzować nowy port podczas logowania:
ssh -p [numer_portu] [nazwa_użytkownika]@[adres_serwera]