GNU/Linux >> Znalost Linux >  >> Linux

Připojte se k serveru pomocí SSH v systému Linux nebo Mac OS X

Tento článek obsahuje kroky pro připojení ke cloudovému serveru z počítače se systémem Linux® nebo MacOS® X pomocí Secure Shell (SSH). Pojednává také o vygenerování klíče SSH a přidání veřejného klíče na server.

Úvod

SSH je protokol, jehož prostřednictvím můžete přistupovat ke svému cloudovému serveru a příkazům runhell. Klíče SSH můžete použít k identifikaci důvěryhodných počítačů bez potřeby hesel a k interakci se servery.

SSH je šifrováno pomocí Secure Sockets Layer (SSL), což ztěžuje zachycení a čtení této komunikace.

Poznámka: Mnoho příkazů v tomto článku musí být spuštěno na vašem místním počítači. Výchozí příkazy uvedené v seznamu jsou pro příkazový řádek systému Linux nebo terminál systému MacOS X. Chcete-li vytvořit připojení SSH z Windows®, můžete použít klienta podobného bezplatnému programu PuTTY. Ke generování klíčů můžete použít související program PuTTYGen.

Přihlaste se

Pomocí adresy internetového protokolu (IP) a hesla pro váš cloudový server se přihlaste spuštěním následujícího ssh příkaz s username@ipaddress jako argument:

ssh [email protected]

Systém vás vyzve k zadání hesla k účtu, ke kterému se připojujete.

Vzdálená identifikace hostitele

Pokud jste přestavěli svůj cloudový server, může se zobrazit následující zpráva:

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

Jednou z funkcí zabezpečení SSH je, že když se přihlásíte ke cloudserveru, vzdálený hostitel má svůj vlastní klíč, který jej identifikuje. Když se pokusíte připojit, váš klient SSH zkontroluje klíč serveru proti všem klíčům, které si uložil z předchozích připojení k dané IP adrese. Poté, co znovu sestavíte cloudový server, se klíč vzdáleného hostitele změní, takže vás počítač varuje před možnou podezřelou aktivitou.

Chcete-li zajistit bezpečnost svého serveru, můžete pomocí webové konzole v ovládacím panelu Cloud ověřit nový klíč serveru. Pokud jste si jisti, že nejste podvrženi, můžete tento krok přeskočit a smazat záznam starého SSH. hostitelský klíč takto:

Na vašem místním místě počítači, upravte SSH known_hosts soubor a odstraňte všechny řádky, které začínají IP adresou vašeho cloudového serveru.

Poznámka: Použijte editor podle svého výběru, například nano v operačním systému Debian nebo Ubuntu nebo vi na serverech RPM nebo CENTOS. Pro jednoduchost tento článek používá pouze nano . Pokud dáváte přednost použití vi ,nahraďte vi pro nano v editačních příkazech. Další informace o používání nano , viz/support/how-to/modify-your-hosts-file/.

nano ~/.ssh/known_hosts

Pokud na místním počítači nepoužíváte Linux nebo MacOS X, umístění známých_hostitelů soubor se může lišit. Informace o umístění souboru najdete ve vašem operačním systému. PuTTY ve Windows vám dává možnost nahradit uložený klíč hostitele.

Vygenerovat nový pár klíčů SSH

Přístup SSH ke svému cloudovému serveru můžete zabezpečit proti útokům hrubou silou pomocí páru veřejného a soukromého klíče. Veřejný klíč je umístěn na server a odpovídající soukromý klíč je umístěn na vašem místním počítači. Pokud na svém serveru nakonfigurujete SSH tak, aby přijímal pouze připojení pomocí klíčů, pak se nikdo nemůže přihlásit pouze pomocí hesla. Připojující se klienti musí používat soukromý klíč, který má veřejný klíč zaregistrovaný na serveru. Další informace o zabezpečení naleznete v osvědčených postupech zabezpečení serveru Linux.

Pomocí následujících kroků vygenerujte pár klíčů SSH:

  1. Spusťte následující příkaz pomocí své e-mailové adresy jako štítku. Nahraďte svou e-mailovou adresu za [email protected] v příkazu.

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

    Zpráva oznamuje, že se generuje váš veřejný a soukromý pár klíčů RSA.

    Po zobrazení výzvy stiskněte Enter chcete-li použít výchozí umístění, nebo zadejte soubor, do kterého chcete klíč uložit, a stiskněte Enter .

  2. Pokud chcete dodatečné zabezpečení hesla pro pár klíčů, zadejte přístupové heslo a stiskněte Enter . Pokud s párem klíčů nechcete používat heslo, stiskněte Enter pokračovat bez nastavení.

    Vygeneruje se váš pár klíčů a výstup vypadá podobně jako v následujícím příkladu:

    Your identification has been saved in /LocalFileLocation/id_rsa.
    Your public key has been saved in /LocalFileLocation/id_rsa.pub.
    The key fingerprint is: 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected]
    
  3. Volitelně přidejte svůj nový klíč do místního ssh-agenta soubor, abyste umožnili SSH najít váš klíč bez nutnosti zadávat jeho umístění pokaždé, když se připojujete:

    ssh-add ~/.ssh/id_rsa
    

    Místo ssh-agenta můžete použít zkratku konfigurace SSH soubor podle pokynů v Konfiguraci zástupce dále v tomto článku.

Přidejte veřejný klíč do svého cloudového účtu

Chcete-li si usnadnit přidávání klíče na nové cloudové servery, které vytvoříte, nahrajte veřejný klíč do svého cloudového účtu podle následujících kroků:

  1. Přihlaste se do Cloud Control Panel.

  2. V horním navigačním panelu klikněte na Vybrat produkt> Rackspace Cloud .

  3. Vyberte Servery> Klíče SSH .

  4. Klikněte na Přidat veřejný klíč .

  5. Zadejte název klíče, například Pracovní notebook , aby vám připomněl, pro který počítač je tento klíč určen.

  6. Vyberte oblast, pro kterou chcete uložit veřejný klíč. Chcete-li klíč uložit ve více oblastech, opakujte tyto kroky pro každou oblast. Klíč se musí nacházet ve stejné oblasti jako server.

  7. Vložte obsah id_rsa.pub soubor, který jste vytvořili, do Veřejného klíče pole. Obsah souboru můžete získat buď otevřením souboru v textovém editoru nebo spuštěním následujícího příkazu:

    cat ~/.ssh/id_rsa.pub
    
  8. Klikněte na Přidat veřejný klíč .

Pokud chcete klíč přidat ručně, místo pomocí ovládacího panelu, projděte si osvědčené postupy zabezpečení serveru Linux a použijte následující příkaz:

 ssh-copy-id -i ~/.ssh/id_rsa.pub {username}@{remotePublicIPAddress}

Vytvořte nový server pomocí uloženého klíče

Když vytvoříte nový cloudový server, můžete na nový server přidat uložený klíč.

  1. Na stránce Vytvořit server rozbalte Pokročilé možnosti sekce.

  2. Z klíče SSH vyberte klíč ze seznamu.

  3. Pokud v seznamu nevidíte uložený klíč, můžete provést jednu z následujících akcí:

    • Přepněte oblast nového serveru na oblast, kde jste uložili klíč SSH.
    • Opakujte kroky v předchozí části Přidejte veřejný klíč do svého cloudového účtu ,pro přidání klíče do oblasti, ve které chcete vytvořit nový server.

Přidat klíč na existující server

K přidání veřejného klíče na existující server nemůžete použít Cloud Control Panel. Chcete-li klíč přidat ručně, postupujte takto:

  1. Na svém cloudovém serveru vytvořte adresář s názvem .ssh v domovské složce uživatele, ke kterému se připojujete pomocí SSH.

    mkdir -p ~/.ssh
    
  2. Vytvořte nebo upravte authorized_keys soubor a přidejte svůj veřejný klíč do seznamu autorizovaných klíčů pomocí následujícího příkazu:

    nano ~/.ssh/authorized_keys
    

    Klíč je celý na jednom řádku, takže se ujistěte, že klíč není přerušen zalomením vedlejších řádků. V authorized_keys můžete mít více klíčů soubor, s jedním klíčem na řádek.

  3. Nastavte správná oprávnění pro klíč pomocí následujících příkazů:

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
  4. Pokud máte nějaké problémy a potřebujete opravit problémy s oprávněními, spusťte následující příkaz:

    restorecon -R -v /root/.ssh
    

Po přidání veřejného klíče do authorized_keys , můžete vytvořit připojení SSH pomocí páru klíčů namísto hesla účtu.

Konfigurace zástupce

Pomocí následujících pokynů nastavte zástupce připojení vytvořením ~/.ssh/config soubor na vašem místním počítači a přidejte do něj váš server a podrobnosti o klíči.

  1. Pomocí textového editoru přidejte následující text do ~/.ssh/config soubor, změňte hodnoty tak, aby odpovídaly informacím o vašem serveru:

    Host shortcutName
    HostName serverAddressOrIPAddress
    User remoteUsername
    IdentityFile /path/to/appropriate/ssh/rsa/private/key
    

    Každá z následujících položek popisuje funkci serveru:

    • Hostitel: Název zkratky, kterým říkáte SSH, aby toto připojení použilo.
    • Název hostitele: Adresa serveru, ke kterému se připojujete.
    • Uživatel: Název uživatelského účtu, ke kterému se chcete na serveru připojit.
    • IdentityFile: Umístění souboru soukromého klíče (id_rsa).
  2. Po nastavení konfigurace soubor, připojte se k serveru pomocí následujícího příkazu s názvem vaší zkratky:

    ssh shortcutName
    

Odstraňování problémů

Pokud máte po restartu serveru potíže s vytvořením nového připojení, použijte následující kroky, které vám pomohou problém vyřešit:

  • Nejlepším způsobem, jak vyřešit problémy s přihlášením k SSH nebo SFTP, je pokusit se přihlásit přes SSH při přihlášení do nouzové konzoly a sledovat protokol, který obvykle obsahuje důvod selhání. Pokud není uveden žádný důvod, může jít o problém s firewallem. U serverů RPM spusťte následující příkaz ke sledování protokolu:

      tail -f /var/log/secure
    

    Pro servery Debian spusťte následující příkaz pro sledování protokolu:

      tail -f /var/log/auth.log
    
  • Pokud connection timeout chyba, zkontrolujte IP adresu, kterou jste použili, abyste se ujistili, že je správná. Můžete také zkontrolovat iptables serveru, abyste se ujistili, že neblokuje port používaný SSH.

  • Pokud se zobrazí connection refused chyba, možná se pokoušíte použít SSH s nesprávným portem. Pokud jste změnili svůj server tak, aby naslouchal jinému portu než 22, použijte -p pomocí SSH k určení portu.

  • Pokud je vaše přihlášení odmítnuto, můžete mít problém s klíčem. Změňte sshd konfiguraci umožňující připojení pomocí hesla nastavením PasswordAuthentication na yes . Restartujte server a zkuste to znovu. Pokud se připojíte po těchto změnách, pak je problém s klíčem a musíte ověřit, že je klíč na správném místě na serveru.

  • Pokud vše ostatní selže, zkontrolujte změny a restartujte démona SSH na serveru spuštěním následujícího příkazu:

    sudo service ssh restart
    

    Pokud se zobrazí zpráva, že služba SSH je neznámá, spusťte příkaz s sshd jako název služby.


Linux
  1. SSH bez hesla pomocí párů veřejného a soukromého klíče

  2. Jak na SSH na Linuxu z Androidu

  3. Jak resetovat heslo správce Plesk pomocí SSH na serveru Linux?

  1. Jak vygenerovat klíč SSH na dedikovaném serveru Linux?

  2. Připojte se k Linuxu z Mac OS X pomocí Terminálu

  3. Efektivní vázání kláves pomocí Mac i Linuxu

  1. Jak SSH na server pomocí jiného serveru?

  2. Začínáme s SSH v Linuxu

  3. Připojte se k Linuxu z Windows pomocí PuTTY