V řadě situací může být nutné vzdálený přístup k počítači, který je za routerem NAT nebo firewallem. V takových případech je jedním z nejbezpečnějších a nejpohodlnějších způsobů přístupu proražení portů SSH. SSH (Secure Shell) je protokol pro bezpečnou vzdálenou práci, který vám umožňuje šifrovat vzdálené připojení ke vzdálenému hostiteli a provádět různé operace.
Rozbití portů SSH umožňuje nakonfigurovat server SSH na vzdáleném počítači tím, že mu umožní přístup k portu na místním počítači. Tímto způsobem budete moci přistupovat ke vzdálenému počítači prostřednictvím místní IP adresy a portu. Pokud je například místní IP adresa vašeho počítače 192.168.1.100 a server SSH běží na portu 22, můžete se vzdáleně připojit k počítači pomocí adresy IP a portu 192.168.1.100:22.
Níže uvedený krok za krokem vám pomůže nakonfigurovat spouštění portů SSH v Linuxu.
Instalace OpenSSH
Chcete-li nainstalovat OpenSSH, postupujte podle následujících kroků:
- Otevřete terminál.
- Zadejte příkaz sudo apt-get install openssh-server a stiskněte Enter.
- Pro pokračování možná budete muset zadat uživatelské heslo root.
- Potvrďte instalaci Stisknutím klávesy Y (Ano) a poté stiskněte Enter.
Po dokončení instalace můžete zkontrolovat, zda OpenSSH funguje zadáním příkazu ssh localhost v terminálu. Pokud je vše správně nakonfigurováno, budete vyzváni k zadání hesla pro přihlášení ke vzdálenému serveru.
Nyní je OpenSSH nainstalován na vašem systému a jste připraveni nakonfigurovat porty SSH pro vzdálený přístup k vašemu systému.
Generování klíčů SSH
- Otevřete terminál v počítači se systémem Linux.
- Zadejte příkaz ssh-keygen a stiskněte Enter.
- Program ssh-keygen vás vyzve k výběru umístění pro uložení klíčů. Ve výchozím nastavení jsou uloženy v adresáři~/.ssh . Pro použití tohoto umístění stiskněte Enter.
- Dále budete vyzváni k zadání hesla pro váš soukromý klíč. Pole můžete ponechat prázdné, pokud nechcete nastavit heslo pro klíč, nebo zadat heslo a stisknout Enter.
- Program ssh-keygen vytvoří dva soubory: id_rsa (soukromý klíč) a id_rsa.Pub (veřejný klíč).
Nyní máte několik klíčů SSH. Veřejný klíč (id_rsa.pub) budete používat k připojení ke vzdáleným serverům a soukromý klíč ( id_rsa ) by měl zůstat v bezpečí a přístup pouze u vás.
Ujistěte se, že uchováváte soukromý klíč na bezpečném místě a nerozšiřujete jej.
Je důležité poznamenat, že generování klíčů SSH je jednorázový proces. Po generování klíčů budete muset tento proces opakovat pro každý nový počítač nebo uživatele.
Úprava konfiguračního souboru SSH
Krok 1: Otevřete terminál a spusťte příkaz:
sudo nano /etc/ssh/sshd_config
Krok 2: v případě potřeby zadejte heslo správce.
Krok 3: Pomocí rolovací klávesy vyhledejte řádky obsahující možnost "Port" a "AllowTcpForwarding".
Krok 4: pro uvolnění portů SSH zadejte port, který chcete otevřít, do řádku "Port". Například Port 2222 .
Krok 5: pokud chcete povolit Portování, ujistěte se, že je na "yes" nastavena hodnota možnosti "AllowTcpForwarding". V opačném případě vyměňte "no"za " yes".
Krok 6: uložte změny stisknutím Ctrl + O a poté soubor zavřete stisknutím Ctrl + X .
Krok 7: restartujte službu SSH spuštěním příkazu:
sudo systemctl restart sshd
Nyní jste úspěšně upravili konfigurační soubor SSH nakonfigurováním průniku portů.
Nastavení portů na straně klienta
Chcete-li nakonfigurovat portování na straně klienta v Linuxu, postupujte podle následujících kroků:
-
Otevřete terminál a zadejte příkaz:
ssh -L : : @
- - číslo portu na vašem stroji, ke kterému chcete provléknout připojení;
- - IP adresa nebo název domény vzdáleného serveru;
- - port na vzdáleném serveru, ke kterému chcete prolomit připojení;
- - uživatelské jméno na vzdáleném serveru;
- - IP adresa nebo název domény vzdáleného serveru.
Konfigurace portů na straně serveru
Chcete-li nakonfigurovat proražení portů na straně serveru v Linuxu, budete muset postupovat podle následujících kroků:
| Krok 1 | Přihlaste se na server pomocí klienta SSH a ujistěte se, že máte oprávnění správce. |
| Krok 2 | Otevřete konfigurační soubor serveru SSH pomocí textového editoru. Obvykle se soubor nazývá / etc / ssh / sshd_config . |
| Krok 3 | Najděte řádek #Port 22 a komentujte jej odstraněním symbolu # . Dále, pokud potřebujete prorazit konkrétní port, změňte hodnotu portu na požadovaný. Například Port 2222 . |
| Krok 4 | Najděte a komentujte řádek #GatewayPorts no a vyměňte jej za GatewayPorts yes . To umožní externím zákazníkům připojit se k proraženým portům. |
| Krok 5 | Uložte změny a zavřete konfigurační soubor serveru SSH. |
| Krok 6 | Chcete-li použít provedené změny, restartujte server SSH. Chcete-li to provést, spusťte příkaz sudo systemctl restart sshd . |
Po provedení těchto kroků musí být porty na straně serveru úspěšně nakonfigurovány.
Kontrola připojení pomocí zkrouceného portu
Po nastavení průchodu portu SSH v Linuxu je třeba zkontrolovat, zda připojení funguje správně. K tomu lze použít příkaz telnet :
-
Otevřete terminál a zadejte následující příkaz:
telnet localhost
����то <�номер-порта>укажите порт, который вы пробросили. Например, если вы пробросили порт 2222, команда будет выглядеть так:�номер-порта>
telnet localhost 2222
Pokud bylo připojení úspěšné, uvidíte zprávu, která ukazuje na zavedené připojení.
Kontrola připojení pomocí zkrouceného portu vám může pomoci zajistit, aby nastavení průchodu proběhlo správně a port je k dispozici pro připojení.
Automatizace nastavení portů
Nastavení prostupu portů SSH v Linuxu lze automatizovat pomocí různých nástrojů. V této části se podíváme na několik z nich:
- Ansible: nástroj pro automatizaci řízení konfigurace a nasazení softwaru. Umožňuje vám popsat nastavení pro uvolnění portů SSH jako playbooky, které lze spustit na vzdálených serverech.
- Puppet: robustní a výkonný nástroj pro správu konfigurace. Umožňuje vám vytvářet moduly, které mohou automaticky konfigurovat porty SSH na cílových serverech.
- Chef: infrastrukturní nástroj pro automatizaci nasazení aplikací. Poskytuje recepty, které lze použít ke konfiguraci proražení portů SSH.
- SaltStack: nástroj pro správu konfigurace a automatizaci nasazení. Umožňuje vám popsat stavy, které lze použít k nastavení průchodu portů SSH.
Výběr nástroje závisí na vašich preferencích a požadavcích, proto se doporučuje přečíst si dokumentaci ke každému z nich, abyste mohli rozhodnout o výběru.