SSH (Secure Shell) to protokół sieciowy, który zapewnia bezpieczne połączenie pomiędzy dwoma komputerami w sieci. SSH jest często używany do zdalnego zarządzania serwerami, ale może być również używany do innych celów, takich jak przesyłanie plików lub komunikacja z innymi użytkownikami.
Konfiguracja SSH w Linux jest stosunkowo prosta. W tym poradniku przedstawimy kroki, które należy wykonać, aby skonfigurować SSH na serwerze Linux.
Instalacja SSH
Większość dystrybucji Linux ma SSH zainstalowany domyślnie. Aby sprawdzić, czy SSH jest zainstalowany na Twoim serwerze, możesz użyć następującego polecenia:
ssh -V
Jeśli otrzymasz komunikat podobny do tego:
OpenSSH_7.9p1 Debian-10+deb11u1 (protocol 2.0)
to SSH jest zainstalowany i gotowy do użycia.
Jeśli SSH nie jest zainstalowany, możesz go zainstalować za pomocą następującego polecenia:
apt install openssh-server
Konfiguracja podstawowych ustawień SSH
Domyślnie SSH jest skonfigurowany tak, aby umożliwić użytkownikom logowanie się na serwer przy użyciu haseł. Możesz zmienić to ustawienie, aby wymagać uwierzytelniania kluczy publicznych.
Aby wymagać uwierzytelniania kluczy publicznych, musisz wygenerować klucze publiczne i prywatne dla każdego użytkownika, który będzie się łączył z serwerem SSH. Możesz to zrobić za pomocą następującego polecenia:
ssh-keygen -t rsa
To polecenie wygeneruje dwa pliki: id_rsa
i id_rsa.pub
. Plik id_rsa
jest kluczem prywatnym, który musisz zachować w bezpiecznym miejscu. Plik id_rsa.pub
jest kluczem publicznym, który musisz przesłać do serwera, z którym chcesz się łączyć.
Aby przesłać klucz publiczny do serwera, możesz użyć następującego polecenia:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
To polecenie skopiuje klucz publiczny do pliku authorized_keys
na serwerze.
Po skonfigurowaniu uwierzytelniania kluczy publicznych, użytkownicy będą mogli łączyć się z serwerem SSH bez podawania hasła.
Konfiguracja dodatkowych ustawień SSH
Oprócz podstawowych ustawień SSH, możesz również skonfigurować inne opcje, takie jak:
- Port, na którym SSH będzie nasłuchiwać
- Dozwolone hosty
- Limity czasu połączenia
Aby skonfigurować te opcje, musisz edytować plik /etc/ssh/sshd_config
.
Przykładowe konfiguracje SSH
Poniżej znajdują się przykładowe konfiguracje SSH:
Konfiguracja wymagająca uwierzytelniania kluczy publicznych
# Ustawienie wymagające uwierzytelniania kluczy publicznych
PasswordAuthentication no
PubkeyAuthentication yes
# Przypisywanie klucza publicznego do użytkownika
AuthorizedKeysFile /home/user/.ssh/authorized_keys
Konfiguracja ograniczająca dostęp do serwera do określonych hostów
# Ustawienie ograniczające dostęp do serwera do określonych hostów
AllowUsers user@example.com user@example.org
Konfiguracja ustawiająca limit czasu połączenia
# Ustawienie ustawiające limit czasu połączenia
MaxSessions 10
MaxAuthTries 3
Podsumowanie
Konfiguracja SSH w Linux jest stosunkowo prosta. Wykonując kroki opisane w tym poradniku, możesz skonfigurować SSH na swoim serwerze Linux i korzystać z bezpiecznych połączeń zdalnych.