GNU/Linux >> Znalost Linux >  >> Linux

Jak nakonfigurovat vlastní připojení SSH pro zjednodušení vzdáleného přístupu

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:

  1. Na ploše Linuxu musíte mít nainstalovaného klienta OpenSSH.
  2. 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:

  1. /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.
  2. ~/.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 hodnota2 

Z výše uvedeného formátu:

  1. 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.
  2. 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ů.
  3. 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í.
  4. Pro možnost, jako je ssh_option2=value1 value2 , hodnotu value1 je zvažována jako první, poté hodnota2 .
  5. 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 host1

Výše uvedený příkaz ssh provede následující věci:

  1. se shodují s aliasem hostitele host1 v konfiguračním souboru a použije možnosti nastavené v záhlaví definice Host host1 .
  2. 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.
  3. 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).
  4. 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/config

A 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 INFO

Podrobné vysvětlení výše uvedených možností konfigurace ssh.

  1. 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).
  2. Uživatel – určuje uživatele, který se má přihlásit jako.
  3. 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.
  4. 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.
  5. IdentityFile – určuje soubor, ze kterého se načte autentizační identita uživatele DSA, Ed25519, RSA nebo ECDSA.
  6. 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“ .
  7. Komprese – používá se k nastavení komprese během vzdáleného připojení s „ano“ hodnota. Výchozí hodnota je „ne“ .
  8. 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.
  9. ServerAliveCountMax – nastavuje počet aktivních zpráv serveru, které mohou být odeslány, aniž by ssh obdržel jakoukoli odpověď ze serveru.
  10. Ú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 centos7 

Další možnosti a příklady použití naleznete na manuálové stránce konfigurace klienta ssh:

$man ssh_config

To 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.


Linux
  1. Jak nakonfigurovat vzdálený přístup k MySQL v cPanel

  2. Jak najít aktivní připojení SSH v systému Linux

  3. Jak používat tunelování SSH pro přístup k omezeným serverům

  1. Jak nakonfigurovat ověřování na základě klíče SSH v systému Linux

  2. Jak připojit vzdálený hostitel pomocí příkazu ssh

  3. Vpn tunel pro vzdálený přístup SSH

  1. Jak nakonfigurovat písma na vzdáleném připojení X (xdmcp vs. Ssh)?

  2. Povolit vzdálený přístup Ssh?

  3. SSH:V privátní síti, jak přistupovat ke vzdálenému počítači ze zdrojového počítače bez použití veřejného klíče ssh