SSH (zkratka pro secure shell) je protokol používaný pro bezpečný přístup ke vzdálenému systému. Je to nejběžněji používaný protokol v systémech Linux pro vzdálenou správu, správu a odstraňování problémů se vzdálenými servery.
Tento článek je o tom, jak se vzdáleně připojit k serveru Linux přes SSH. Pro vzdálené připojení přes SSH použijeme utilitu OpenSSH.
Předpoklady
Níže jsou uvedeny některé předpoklady, které musíte splnit pro vzdálené připojení přes SSH:
- Dva počítače Ubuntu (pro vzdálený server a klienta)
- Uživatel Sudo na serveru i na klientském počítači
- IP adresa nebo název hostitele vzdáleného serveru
- Číslo portu, uživatelské jméno a heslo vzdáleného serveru
SSH Linux Server
Aby bylo možné vytvořit systém SSH Linux, zahrnují kroky:
- Instalace OpenSSH na vzdálený server
- Konfigurace OpenSSH na vzdáleném serveru
- Instalace klienta OpenSSH na místní počítač klienta
- Přístup ke vzdálenému serveru Linux prostřednictvím klienta SSH
Poznámka: Zde popsané příkazy byly testovány na Ubuntu 20.04 LTS.
Krok 1:Instalace OpenSSH na vzdálený server
OpenSSH je nástroj pro vzdálené připojení systému přes SSH. Budete jej muset nainstalovat do systému, ke kterému chcete přistupovat přes SSH.
Na vzdáleném serveru otevřete Terminál a zadejte následující příkaz:
$ sudo apt update
Poté za účelem instalace serveru OpenSSH zadejte v Terminálu následující příkaz:
$ sudo apt install openssh-server
Poté zadejte heslo sudo.
Až budete požádáni o potvrzení, stiskněte y , po kterém systém zahájí instalaci.
Krok 2:Konfigurace OpenSSH na vzdáleném serveru
Po dokončení instalace OpenSSH budete muset provést některé nezbytné konfigurace. Konfigurační soubor SSH je /etc/ssh/sshd_config . Chcete-li upravit konfigurační soubor, zadejte v Terminálu následující příkaz:
$ nano /etc/ssh/sshd_config
Takto vypadá konfigurační soubor OpenSSH:
Před provedením jakýchkoli změn v tomto souboru je lepší vytvořit kopii původního konfiguračního souboru pomocí následujícího příkazu:
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
Nakonfigurujeme pouze některé možnosti, zatímco zbytek ponecháme na výchozí.
Změna naslouchacího portu SSH
Ve výchozím nastavení běží OpenSSH na portu TCP 22. Pokud však chcete, aby server OpenSSH naslouchal na nějakém jiném portu (mezi čísly portů 1024 – 65535), můžete tak učinit následovně:
Upravte /etc/ssh/sshd_config konfigurační soubor:
$ sudo nano /etc/ssh/sshd_config
Vyhledejte „port 22“ v souboru. K vyhledání můžete použít Ctrl+W.
Nahradit 22 podle čísla portu, který má váš OpenSSH server poslouchat. Odstraňte také # symbol před řádkem.
Například pro nastavení naslouchacího portu OpenSSH na 2244 by řádek byl:
port 2244
Nyní uložte konfigurační soubor.
Povolení přihlášení root na serveru SSH
Ve výchozím nastavení je přihlášení root na serveru OpenSSH zakázáno, což znamená, že se nemůžete přihlásit jako uživatel root. Pokud se potřebujete přihlásit jako uživatel root ke svému vzdálenému serveru SSH, budete muset povolit přihlášení root v konfiguraci Open SSH.
Upravte /etc/ssh/sshd_config konfigurační soubor:
$ sudo nano /etc/ssh/sshd_config
Vyhledejte PermitRootLogin prohibit-password a nahraďte jej následujícím řádkem. Odstraňte také # symbol před řádkem.
PermitRootLogin yes
Nyní uložte konfigurační soubor.
Snížení počtu pokusů o ověření
Ve výchozím nastavení je povoleno 6 pokusů o ověření pro přihlášení k serveru SSH. Tyto pokusy o ověření můžete snížit změnou hodnoty parametru MaxAuthTries .
Například ke snížení počtu pokusů o ověření na 3 , upravte /etc/ssh/sshd_config konfigurační soubor:
$ sudo nano /etc/ssh/sshd_config
Poté vyhledejte MaxAuthTries a změňte jeho hodnotu na 3 .
Odstraňte také # symbol před řádkem.
MaxAuthTries 3
Nyní uložte konfigurační soubor.
Povolit nebo zakázat určitým uživatelům přihlášení k serveru SSH
Ve výchozím nastavení je všem uživatelským účtům povoleno přihlásit se do vzdáleného systému přes SSH. Chcete-li povolit přihlášení k serveru SSH pouze některým uživatelům, upravte soubor /etc/ssh/sshd_config soubor:
$ sudo nano /etc/ssh/sshd_config
Poté do tohoto souboru přidejte následující řádek nahrazením uživatel1 a uživatel2 se jmény uživatelů, kteří se mohou přihlásit.
AllowUsers user1 user2
Příklad:
AllowUsers kbuzdar tin
Výše uvedený řádek umožní „kbuzdar“ a „tin“ přihlásit se přes SSH.
Podobně, chcete-li jakémukoli uživateli zakázat přístup k serveru SSH, přidejte do tohoto souboru následující řádek nahrazením uživatel1 a uživatel2 se jmény uživatelů, kteří se nemohou přihlásit.
DenyUsers user1 user2
Výše uvedený řádek umožní všem uživatelům kromě „jana“ přihlášení přes SSH.
Nyní uložte konfigurační soubor.
Po provedení jakýchkoli změn v konfiguračním souboru restartujte službu SSH pomocí následujícího příkazu:
$ sudo service ssh restart
Krok 3:Instalace klienta OpenSSH na místní klientský počítač
Na klientském počítači, který se chce připojit k linuxovému serveru přes SSH, budeme muset nainstalovat klientský nástroj OpenSSH.
Chcete-li nainstalovat klienta OpenSSH, zadejte v terminálu klientského počítače následující příkaz:
$ sudo apt install openssh-client
Až budete požádáni o heslo, zadejte heslo sudo.
Až budete požádáni o potvrzení, stiskněte y , poté systém zahájí instalaci. Jakmile je instalace dokončena, jste připraveni používat klienta OpenSSH.
Krok 4:Přístup k serveru Linux prostřednictvím klienta SSH přes LAN
Prostřednictvím klienta OpenSSH se můžete připojit k serveru SSH přes LAN buď pomocí IP adresy nebo názvu hostitele. Na počítači klienta použijte k připojení vzdáleného serveru přes SSH následující syntaxi:
$ ssh [username]@[remoteserver IP or hostname]
Až budete vyzváni k zadání hesla, zadejte heslo uživatele. Jakmile je spojení navázáno, zobrazí se výzva shellu pro vzdálený server.
V našem případě je IP vzdáleného serveru „192.168.72.157“ a uživatelské jméno je „kbuzdar“. Příkaz by tedy byl:
$ ssh [email protected]
V případě, že jste změnili naslouchací port OpenSSH, příkaz pro připojení k serveru SSH bude:
$ ssh -p [port_number] [username]@[ip_address]
Příklad:
$ ssh -p 2244 [email protected]
Přístup k serveru Linux prostřednictvím klienta SSH přes internet
Chcete-li připojit vzdálený server přes internet, budete vyžadovat veřejnou IP vzdáleného serveru a také budete muset nastavit přesměrování portů na vašem routeru. Zde jsou kroky ke vzdálenému serveru SSH přes internet:
1. Nejprve budete muset zjistit veřejnou IP adresu vzdáleného serveru. Chcete-li tak učinit, zadejte v terminálu vzdáleného stroje následující příkaz:
$ curl ipaddr.pub
2. Nyní budete muset nastavit přesměrování na routeru. Způsob nastavení se liší router od routeru, ale téměř všechny routery vám to umožňují.
3. Jakmile najdete veřejnou IP adresu vzdáleného počítače a nastavíte přesměrování portů na routeru, použijte pro SSH vzdálený počítač Linux následující syntaxi:
$ ssh [username]@[public_ip_address]
V případě, že je vzdálený server nakonfigurován tak, aby používal číslo portu jiné než 22, pak by syntaxe byla:
$ ssh -p [port_number] [username]@[public_ip_address]
Takto můžete SSH Linux server. Vysvětlili jsme, jak SSH vzdálené linuxové servery pomocí nástroje OpenSSH. Probrali jsme také některé základní konfigurace, které se vám mohou hodit při připojování přes SSH. Nyní můžete snadno spravovat vzdálené servery Linux pro administraci a odstraňování problémů.