Android

Příkaz Ssh

Operativni sistemi - 014 - (ssh) Instalacija i podešavanje openssh-server paketa

Operativni sistemi - 014 - (ssh) Instalacija i podešavanje openssh-server paketa

Obsah:

Anonim

Secure Shell (SSH) je kryptografický síťový protokol používaný pro šifrované spojení mezi klientem a serverem. Klient ssh vytvoří zabezpečené připojení k serveru SSH na vzdáleném počítači. Šifrované připojení lze použít k provádění příkazů na serveru, tunelování X11, přeposílání portů a další.

Existuje řada klientů SSH dostupných jak bezplatných, tak komerčních, přičemž nejrozšířenějším klientem je OpenSSH. Je k dispozici na všech hlavních platformách, včetně Linux, OpenBSD, Windows, MacOS a dalších.

, vysvětlíme, jak používat klienta příkazového řádku OpenSSH ( ssh ) k přihlášení ke vzdálenému počítači a spouštět příkazy nebo provádět jiné operace.

Instalace klienta OpenSSH

Klientský program OpenSSH se nazývá ssh a lze jej vyvolat z terminálu. Klientský balíček OpenSSH poskytuje také další pomocné programy SSH, jako jsou scp a sftp které jsou nainstalovány vedle příkazu ssh .

Instalace klienta OpenSSH v systému Linux

Klient OpenSSH je ve většině distribucí Linuxu předinstalován ve výchozím nastavení. Pokud váš systém nemá nainstalovaného klienta ssh, můžete jej nainstalovat pomocí správce balíčků vaší distribuce.

Instalace OpenSSH na Ubuntu a Debian

sudo apt update sudo apt install openssh-client

Instalace OpenSSH na CentOS a Fedora

sudo dnf install openssh-clients

Instalace klienta OpenSSH ve Windows 10

Většina uživatelů Windows používá Putty k připojení ke vzdálenému počítači přes SSH. Nejnovější verze systému Windows 10 však zahrnují klienta a server OpenSSH. Oba balíčky lze nainstalovat pomocí GUI nebo PowerShell.

Chcete-li najít přesný název balíčku OpenSSH, zadejte následující příkaz:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Příkaz by měl vrátit něco takového:

Name: OpenSSH.Client~~~~0.0.1.0 State: NotPresent Name: OpenSSH.Server~~~~0.0.1.0 State: NotPresent

Jakmile znáte název balíčku, nainstalujte jej spuštěním:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Po úspěchu bude výstup vypadat takto:

Path: Online: True RestartNeeded: False

Instalace klienta OpenSSH na MacOS

MacOS je dodáván s klientem OpenSSH nainstalovaným ve výchozím nastavení.

Jak používat příkaz ssh

Aby bylo možné se přihlásit ke vzdálenému počítači přes SSH, musí být splněny následující požadavky:

  • Na vzdáleném počítači musí být spuštěn server SSH. Ve bráně firewall vzdáleného počítače musí být otevřen port SSH. Musíte znát uživatelské jméno a heslo vzdáleného účtu. Účet musí mít správná oprávnění pro vzdálené přihlášení.

Základní syntaxe příkazu ssh je následující:

ssh:HOST

Chcete-li použít příkaz ssh otevřete terminál nebo PowerShell a zadejte ssh následovaný vzdáleným názvem hostitele:

ssh ssh.linuxize.com

Při prvním připojení ke vzdálenému počítači přes SSH se zobrazí následující zpráva.

The authenticity of host 'ssh.linuxize.com (192.168.121.111)' can't be established. ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. Are you sure you want to continue connecting (yes/no)?

Každý hostitel má jedinečný otisk prstu, který je uložen v souboru ~/.ssh/known_hosts .

Zadejte yes pro uložení vzdáleného otisku prstu a budete vyzváni k zadání hesla.

Warning: Permanently added 'ssh.linuxize.com' (ECDSA) to the list of known hosts. [email protected]'s password:

Jakmile zadáte heslo, budete přihlášeni ke vzdálenému zařízení.

Pokud není zadáno uživatelské jméno, použije příkaz ssh aktuální přihlašovací jméno systému.

Chcete-li se přihlásit jako jiný uživatel, zadejte uživatelské jméno a hostitele v následujícím formátu:

ssh username@hostname

Uživatelské jméno lze také zadat pomocí volby -l :

ssh -l username hostname

Ve výchozím nastavení, pokud není zadán žádný port, se klient SSH pokusí připojit ke vzdálenému serveru na portu 22. Na některých serverech správci mění výchozí port SSH, aby přidali další vrstvu zabezpečení na server snížením rizika automatické útoky.

Chcete-li se připojit k portu, který není výchozí, použijte volbu -p a určete port:

ssh -p 5522 username@hostname

ssh -v username@hostname

Chcete-li zvýšit úroveň výřečnosti, použijte -vvv nebo -vvv .

Příkaz ssh přijímá řadu možností.

Úplný seznam všech možností naleznete na stránce ssh man zadáním příkazu man ssh do vašeho terminálu.

Konfigurační soubor SSH

Klient OpenSSH přečte možnosti nastavené v konfiguračním souboru pro uživatele ( ~/.ssh/config ). V tomto souboru můžete uložit různé možnosti SSH pro každý vzdálený počítač, ke kterému se připojujete.

Ukázka konfigurace SSH je zobrazena níže:

Host dev HostName dev.linuxize.com User mike Port 4422

Když vyvoláte klienta ssh zadáním ssh dev příkaz přečte soubor ~/.ssh/config a použije podrobnosti o připojení určené pro hostitele dev. V tomto příkladu je ssh dev ekvivalentní následujícímu:

ssh -p 4422 [email protected]

Další informace naleznete v článku o konfiguračním souboru SSH.

Ověření veřejným klíčem

Protokol SSH podporuje různé mechanismy ověřování.

Mechanismus ověřování na základě veřejného klíče umožňuje přihlásit se ke vzdálenému serveru, aniž byste museli zadávat heslo.

Tato metoda funguje generováním dvojice kryptografických klíčů, které se používají pro autentizaci. Soukromý klíč je uložen v klientském zařízení a veřejný klíč je přenesen na každý vzdálený server, ke kterému se chcete přihlásit. Vzdálený server musí být nakonfigurován tak, aby akceptoval ověření klíče.

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Budete vyzváni k zadání bezpečného přístupového hesla. Ať už chcete používat přístupovou frázi, záleží jen na vás.

Jakmile máte pár klíčů, zkopírujte veřejný klíč na vzdálený server:

ssh-copy-id username@hostname

Zadejte heslo vzdáleného uživatele a veřejný klíč bude připojen k souboru authorized_keys vzdáleného uživatele.

Po nahrání klíče se můžete přihlásit ke vzdálenému serveru, aniž byste byli vyzváni k zadání hesla.

Nastavením autentizace pomocí klíče můžete zjednodušit proces přihlášení a zvýšit celkovou bezpečnost serveru.

Port Forwarding

Tunelování SSH nebo předávání portů SSH je metoda vytváření šifrovaného spojení SSH mezi klientem a serverovým strojem, prostřednictvím kterého lze přenášet porty služeb.

Předávání SSH je užitečné pro přenos síťových dat služeb, které používají nešifrovaný protokol, jako je VNC nebo FTP, přístup k obsahu s omezeným přístupem nebo obcházení přechodných bran firewall. V zásadě můžete přesměrovat libovolný port TCP a tunelovat provoz prostřednictvím zabezpečeného připojení SSH.

Existují tři typy předávání portů SSH:

Přesměrování místních portů

Lokální přeposílání portů umožňuje předat připojení z hostitele klienta k hostiteli serveru SSH a poté k cílovému portu hostitele.

Chcete-li vytvořit lokální předávání portů, předejte volbu -L klientovi ssh :

ssh -L LOCAL_PORT:DESTINATION_HOST:DESTINATION_PORT -N -f username@hostname

Volba -f říká příkazu ssh aby se spouštěl na pozadí, a aby neprovedl vzdálený příkaz.

Vzdálené předávání portů

Vzdálené přeposílání portů je opakem předávání lokálních portů. Přeposílá port z hostitele serveru na hostitele klienta a poté do cílového portu hostitele.

Volba -L říká ssh aby vytvořil vzdálené předávání portů:

ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT -N -f username@hostname

Dynamické předávání portů

Dynamické předávání portů vytváří proxy server SOCKS, který umožňuje komunikaci napříč řadou portů.

Chcete-li vytvořit dynamické předávání portů (SOCKS), předejte volbu -D klientovi ssh:

ssh -D LOCAL_PORT -N -f username@hostname

Podrobnější informace a pokyny krok za krokem naleznete v článku Jak nastavit tunelování SSH (předávání portů).

Závěr

Chcete-li se připojit ke vzdálenému serveru pomocí SSH, použijte příkaz ssh následovaný vzdáleným uživatelským jménem a názvem hostitele ( ssh username@hostname ).

Vědět, jak používat příkaz ssh je nezbytné pro správu vzdáleného serveru.

ssh terminál