GNU/Linux >> Znalost Linux >  >> Linux

Ke správě připojení SSH k různým vzdáleným serverům použijte konfigurační soubor SSH

Pokud jste alespoň trochu obeznámeni s SSH, víte, že jej můžete použít k připojení ke vzdáleným systémům Linux.

Použití SSH pro připojení ke vzdálenému systému je jednoduché. Vše, co musíte udělat, je použít příkaz jako je tento:

ssh [email protected]_IP 

Tím se připojí k výchozímu portu SSH 22. Pokud chcete, můžete také zadat port.

Nyní je to vše jasné a jednoduché, pokud máte pouze jeden server. I když si nepamatujete IP adresu serveru, můžete provést zpětné vyhledávání v historii pomocí známé terminálové klávesové zkratky Ctrl+R a najít příkaz SSH, který jste používali v minulosti.

Ale věci se zkomplikují, když musíte spravovat několik serverů. Mám asi deset serverů, ke kterým se čas od času připojuji. Některé jsou produkční servery a některé jsou testovací servery.

Nyní není snadné sledovat tyto servery. I když najdu příkazy SSH z historie, je těžké odhadnout, která IP patří ke kterému serveru.

Samozřejmě mohu otevřít své řídicí panely na Linode, UpCloud, DigitalOcean a Google Cloud, abych získal IP nebo si ponechal seznam v místním systému.

Lepší a jednodušší způsob je použít konfigurační soubor SSH.

Použití konfiguračního souboru SSH pro snadné připojení ke vzdáleným serverům

Konfigurační soubor SSH umožňuje vytvářet různé profily pro různé konfigurace hostitele. Takových profilů není omezeno a můžete jich přidat tolik, kolik je jen možné.

Pokud se tedy připojujete k více vzdáleným systémům prostřednictvím SSH, vytvoření profilů SSH bude dobrým krokem, jak ušetřit váš čas.

Dovolte mi, abych vám ukázal, jak jej používat.

Krok 1:Vytvořte konfigurační soubor SSH

Když nainstalujete SSH, budete mít adresář ~/.ssh vytvořený automaticky. Tento přímý obsahuje váš veřejný klíč, soukromý klíč a soubor známých_hostitelů. Zde je také uložena vaše konfigurace.

Alespoň na Ubuntu není konfigurační soubor SSH ve výchozím nastavení vytvořen. Tento soubor můžete snadno vytvořit pomocí dotykového příkazu takto:

touch ~/.ssh/config

Krok 2:Přidejte profil SSH do konfiguračního souboru

Nyní, když máte konfigurační soubor SSH, můžete jej upravit pomocí Vim nebo Nano. Dovolte mi ukázat vám příklad syntaxe, kterou byste měli dodržovat.

Řekněme, že se připojujete k serveru s IP 275.128.172.46. Vaše uživatelské jméno je Alice a server se používá pro hostování vašich webových stránek. Chcete-li posílit zabezpečení SSH, použijte port 1500 namísto výchozího portu SSH 22.

Všechny tyto informace můžete přidat do svého souboru ~/.ssh/config následujícím způsobem:

Host website
        Hostname 275.128.172.46
        User alice
        Port 1500

Stačí uložit informace do souboru. Není třeba restartovat žádnou službu.

Nyní místo psaní dlouhého příkazu, jako je tento:

ssh [email protected] -p 1500

Můžete použít pouze tento příkaz (funguje také doplňování karet):

ssh website

Když spustíte výše uvedený příkaz, ssh hledá hostitele s názvem webu v ~/.ssh/config. Pokud najde hostitele s tímto jménem, ​​získá všechny související informace a použije je k vytvoření připojení SSH.

Možná vás napadne pár věcí, takže to zmíním zde:

  • Při zadávání informací o hostiteli není omezena mezera ani odsazení tabulátoru. Mezera nebo odsazení tabulátoru se používá k tomu, aby byl konfigurační soubor snadno srozumitelný.
  • Název hostitele může být IP adresa serveru nebo název hostitele, který lze přeložit ve vaší síti.
  • Všechny parametry, jako je název hostitele, uživatel a port, jsou volitelné. Osobně však doporučuji ponechat si alespoň název hostitele, protože to je to, co většinu času potřebujete (a zapomínáte).
  • Pokud je váš konfigurační soubor SSH nakonfigurován nesprávně, při pokusu o jeho použití pro připojení SSH dojde k chybě.
  • Nemůžete ukládat hesla v konfiguraci SSH. Doporučuji přidat svůj veřejný klíč SSH na server pro snadný přístup.

Krok 3:Přidání více profilů do konfiguračního souboru SSH

Předchozí krok vám poskytl představu o tom, jak přidat profil SSH. Pojďme k dalšímu kroku přidáním více profilů.

Takto nyní vypadá konfigurační soubor SSH:

Host website
        Hostname 275.128.172.46
        User alice
        Port 1500
Host forum-server
        Hostname 275.128.172.47
        User alice

Host main-server
        Hostname 275.128.172.49

Host common-test-server
        Hostname test-server

Host *
        User root

Tentokrát jsem do něj přidal čtyři různé profily SSH.

Všimli jste si Hostitel * záznam na konci souboru? Tento záznam můžete použít k přidání parametru společného pro všechny profily, pokud tento parametr nebyl u profilu výslovně uveden.

Takže pokud se pokusím použít profil SSH hlavního serveru, automaticky to vezme uživatele root.

ssh main-server =ssh [email protected]

Pořadí konfigurace SSH

Konfigurace ssh probíhá v následujícím pořadí:

  • možnosti příkazového řádku
  • uživatelský konfigurační soubor (~/.ssh/config)
  • konfigurační soubor pro celý systém (/etc/ssh/ssh_config)

To znamená, že prioritu má příkaz, který zadáte, a poté se podívá do ~/.ssh/config a poté do /etc/ssh/ssh_config.

Pokud tedy chcete profil přepsat, můžete to udělat pomocí volby -o příkazu ssh.

Pokud například použiji tento příkaz:

ssh -o "User=bob" website

Bude to trvat uživatele bob místo uživatele alice, jak je definováno v ~/.ssh/config (v předchozím kroku).

Konfigurace SSH obsahuje mnohem více

Abych byl upřímný, v konfiguračním souboru SSH je mnohem více, které nelze pokrýt v jediném článku. Můžete použít shodu názvu/IP, podsítě a co ne.

Cílem tohoto článku bylo představit vám konfiguraci SSH a pomoci vám vytvořit profily SSH pro snadné připojení k různým vzdáleným systémům Linux.

Vždy se můžete podívat na manuálovou stránku ssh_config, kde se dozvíte více o parametrech, které můžete použít při vytváření konfiguračního souboru SSH.

Doufám, že vám tento tip SSH pomohl. Pokud již používáte konfigurační soubor SSH a máte s sebou nějaký šikovný tip, podělte se o něj s námi ostatními v sekci komentářů.


Linux
  1. Jak používat příkaz SFTP pro bezpečný přenos souborů

  2. Ssh – správná nastavení konfiguračního souboru Ssh pro tunelování ke 3. počítači?

  3. Proč ke správě našich serverů používáme Plesk

  1. Jak používat Logrotate ke správě souborů protokolu

  2. zkontrolujte, zda soubor existuje na vzdáleném hostiteli pomocí ssh

  3. Jiné než výchozí umístění pro konfigurační soubor ssh v Linuxu

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

  2. Ssh – Zkopírujte soubor zpět do místního systému pomocí Ssh?

  3. Jak použít sed k nahrazení proměnné konfiguračního souboru?