SSH (Klient SSH ) je program pro vzdálený přístup ke stroji, umožňuje uživateli provádět příkazy na vzdáleném hostiteli. Je to jedna z nejvíce doporučených metod pro přihlášení ke vzdálenému hostiteli, protože je navržena tak, aby poskytovala zabezpečenou šifrovanou komunikaci mezi dvěma nedůvěryhodnými hostiteli přes nezabezpečenou síť.
SSH používá jak systémový, tak i uživatelsky specifický (vlastní) konfigurační soubor. V tomto tutoriálu vysvětlíme, jak vytvořit vlastní konfigurační soubor ssh a jak používat určité možnosti pro připojení ke vzdáleným hostitelům.
Požadavky:
- Na ploše Linuxu musíte mít nainstalovaného klienta OpenSSH.
- Pochopte běžné možnosti používané pro vzdálená připojení přes ssh.
Konfigurační soubory klienta SSH
Níže jsou umístění konfiguračních souborů klienta ssh:
/etc/ssh/ssh_config
– toto je výchozí konfigurační soubor pro celý systém. Obsahuje nastavení, která platí pro všechny uživatele klientského počítače ssh.~/.ssh/config
nebo$HOME/.ssh/config
– je uživatelský/vlastní konfigurační soubor. Má konfigurace, které platí pro konkrétního uživatele. Proto přepíše výchozí nastavení v konfiguračním souboru pro celý systém. Toto je soubor, který vytvoříme a použijeme.
Ve výchozím nastavení jsou uživatelé autentizováni v ssh pomocí hesel, ale můžete nastavit přihlašování ssh bez hesla pomocí ssh keygen v 5 jednoduchých krocích.
Poznámka :V případě adresáře ~/.ssh
ve vašem desktopovém systému neexistuje, vytvořte jej s následujícími oprávněními.
$ mkdir -p ~/.ssh$ chmod 0700 ~/.ssh
chmod výše uvedený příkaz znamená, že pouze uživatel může mít oprávnění ke čtení, zápisu a spouštění v adresáři, jak to vyžaduje nastavení ssh.
Jak vytvořit uživatelský konfigurační soubor SSH
Tento soubor obvykle není vytvořen ve výchozím nastavení, takže jej musíte vytvořit s oprávněními pro čtení/zápis pouze pro uživatele.
$ touch ~/.ssh/config$ chmod 0700 ~/.ssh/config
Výše uvedený soubor obsahuje sekce definované specifikacemi hostitelů a sekce se použije pouze na hostitele, kteří odpovídají jednomu ze vzorů nastavených ve specifikaci.
Konvenční formát ~/.ssh/config
je následující a všechny prázdné řádky i řádky začínající ‘#’
jsou považovány za komentáře:
Hostitel host1 ssh_option1=hodnota1 ssh_option2=hodnota1 hodnota2 ssh_option3=hodnota1 hostitel hostitel2 ssh_option1=hodnota1 ssh_option2=hodnota1 hodnota2Hostitel * ssh_option1=hodnota1 ssh_option2=pre>hodnota1 hodnota2Z výše uvedeného formátu:
- Hostitel hostitel1 – je definice záhlaví pro host1 , zde začíná specifikace hostitele a končí další definicí záhlaví, Host host2 vytvoření oddílu.
- hostitel1 , hostitel2 jsou prostě aliasy hostitelů k použití na příkazovém řádku, nejsou to skutečné názvy hostitelů vzdálených hostitelů.
- Možnosti konfigurace, jako je ssh_option1=value1 , ssh_option2=hodnota1 hodnota2 použít na shodného hostitele a měl by být odsazen pro dobře organizované formátování.
- Pro možnost, jako je ssh_option2=value1 value2 , hodnotu value1 je zvažována jako první, poté hodnota2 .
- Definice záhlaví Hostitel * (kde
*
je vzor – zástupný znak, který odpovídá nule nebo více znakům) bude odpovídat žádnému nebo více hostitelům.Stále s ohledem na výše uvedený formát takto ssh čte konfigurační soubor. Pokud spustíte příkaz ssh pro vzdálený přístup k host1 takhle:
$ ssh host1Výše uvedený příkaz ssh provede následující věci:
- se shodují s aliasem hostitele host1 v konfiguračním souboru a použije možnosti nastavené v záhlaví definice Host host1 .
- pak se přesune do další sekce hostitele, Hostitel2 a zjistí, že název uvedený na příkazovém řádku se neshoduje, takže odtud nejsou použity žádné možnosti.
- Pokračuje se do poslední sekce, Hostitel * , která odpovídá všem hostitelům. Zde aplikuje všechny možnosti v této části na hostitelské připojení. Nemůže však přepsat žádné hodnoty voleb, které již byly použity v předchozí části (sekcích).
- Totéž platí pro host2 .
Jak používat konfigurační soubor SSH specifický pro uživatele
Jakmile pochopíte, jak konfigurační soubor klienta ssh funguje, můžete jej vytvořit následovně. Nezapomeňte použít možnosti a hodnoty (aliasy hostitele, čísla portů, uživatelská jména atd.) použitelné pro prostředí vašeho serveru.
Otevřete konfigurační soubor pomocí svého oblíbeného editoru:
$ vi ~/.ssh/configA definujte potřebné sekce:
Hostitel fedora25 Název hostitele 192.168.56.15 Port 22 ForwardX11 noHost centos7 Název hostitele 192.168.56.10 Port 22 ForwardX11 noHost ubuntu Název hostitele 192.168.56.5 Port 2222 ForwardX11 yesHost * Uživatel tecmint IdentityFile ~/.ssh/id_rsa Protokol 2 Komprese ano ServerAliveInterval 60 ServerAliveCountMax 20 LogLevel INFOPodrobné vysvětlení výše uvedených možností konfigurace ssh.
- Název hostitele – definuje skutečné jméno hostitele, ke kterému se bude přihlašovat, případně můžete použít číselné IP adresy, je to také povoleno (jak na příkazovém řádku, tak v HostName specifikace).
- Uživatel – určuje uživatele, který se má přihlásit jako.
- Port – nastavuje číslo portu pro připojení na vzdáleném hostiteli, výchozí hodnota je 22 . Použijte číslo portu nakonfigurované v konfiguračním souboru sshd vzdáleného hostitele.
- Protokol – tato volba definuje verze protokolu, které má ssh podporovat, v pořadí podle preferencí. Obvyklé hodnoty jsou ‘1‘ a „2“ , více verzí musí být odděleno čárkami.
- IdentityFile – určuje soubor, ze kterého se načte autentizační identita uživatele DSA, Ed25519, RSA nebo ECDSA.
- ForwardX11 – určuje, zda budou připojení X11 automaticky přesměrována přes zabezpečený kanál a nastaven DISPLAY. Má dvě možné hodnoty „ano“ nebo „ne“ .
- Komprese – používá se k nastavení komprese během vzdáleného připojení s „ano“ hodnota. Výchozí hodnota je „ne“ .
- ServerAliveInterval – nastavuje časový limit v sekundách, po kterém, pokud ze serveru nepřijde žádná odpověď (nebo data), ssh odešle zprávu přes šifrovaný kanál s žádostí o odpověď ze serveru. Výchozí hodnota je 0 , což znamená, že na server nebudou odesílány žádné zprávy, neboli 300 pokud byla definována možnost BatchMode.
- ServerAliveCountMax – nastavuje počet aktivních zpráv serveru, které mohou být odeslány, aniž by ssh obdržel jakoukoli odpověď ze serveru.
- Úroveň protokolu – definuje úroveň upovídanosti, která se používá při protokolování zpráv z ssh. Povolené hodnoty zahrnují:QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 a DEBUG3. A výchozí je INFO.
Standardním způsobem připojení k libovolnému vzdálenému hostiteli Linuxu (v mém případě CentOS 7), definovanému v části dvě výše uvedeného konfiguračního souboru, bychom normálně zadali příkaz níže:
$ ssh -i ~/.ssh/id_rsa -p 22 [e-mail chráněný]S použitím konfiguračního souboru klienta ssh však můžeme jednoduše zadat následující příkaz:
$ ssh centos7Další možnosti a příklady použití naleznete na manuálové stránce konfigurace klienta ssh:
$man ssh_configTo je prozatím vše, v této příručce jsme vám vysvětlili, jak používat konfigurační soubor klienta ssh specifický pro uživatele (vlastní) v systému Linux. Použijte níže uvedený formulář zpětné vazby a napište nám ohledně tohoto článku.
5 způsobů, jak vyprázdnit nebo odstranit obsah velkého souboru v systému Linux Jak vytvořit sdílený adresář pro všechny uživatele v LinuxuLinux