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:
-
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 .
-
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]
-
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ů:
-
Přihlaste se do Cloud Control Panel.
-
V horním navigačním panelu klikněte na Vybrat produkt> Rackspace Cloud .
-
Vyberte Servery> Klíče SSH .
-
Klikněte na Přidat veřejný klíč .
-
Zadejte název klíče, například Pracovní notebook , aby vám připomněl, pro který počítač je tento klíč určen.
-
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.
-
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
-
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íč.
-
Na stránce Vytvořit server rozbalte Pokročilé možnosti sekce.
-
Z klíče SSH vyberte klíč ze seznamu.
-
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:
-
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
-
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.
-
Nastavte správná oprávnění pro klíč pomocí následujících příkazů:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
-
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.
-
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).
-
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ímPasswordAuthentication
nayes
. 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.