GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit klíče SSH

O klíčích SSH

Klíče SSH poskytují bezpečnější způsob přihlášení k virtuálnímu privátnímu serveru pomocí SSH než použití samotného hesla. Zatímco heslo lze nakonec prolomit útokem hrubou silou, klíče SSH je téměř nemožné dešifrovat pouze hrubou silou. Generování páru klíčů vám poskytne dva dlouhé řetězce znaků:veřejný a soukromý klíč. Veřejný klíč můžete umístit na libovolný server a poté jej odemknout připojením k klientovi, který již soukromý klíč má. Když se oba shodují, systém se odemkne bez nutnosti zadání hesla. Zabezpečení můžete ještě více zvýšit ochranou soukromého klíče pomocí přístupové fráze.

Tuto příručku napsali hlavně lidé z DigitalOcean. Podívejte se na jejich skvělé, cenově konkurenční možnosti serveru na digitalocean.com

První krok – Vytvořte pár klíčů RSA

Prvním krokem je vytvoření páru klíčů na klientském počítači (je velká šance, že to bude pouze váš počítač):

ssh-keygen -t rsa

Krok 2 – Uložení klíčů a přístupové fráze

Jakmile zadáte příkaz Gen Key, dostanete několik dalších otázek:

Enter file in which to save the key (/home/demo/.ssh/id_rsa):

Zde můžete stisknout enter a uložit soubor do domovské stránky uživatele (v tomto případě se můj příklad uživatele nazývá demo).

Enter passphrase (empty for no passphrase):

Je na vás, zda chcete použít přístupovou frázi. Zadání přístupové fráze má své výhody:bezpečnost klíče, bez ohledu na to, jak je šifrovaný, stále závisí na skutečnosti, že není viditelný pro nikoho jiného. Pokud by se soukromý klíč chráněný přístupovou frází dostal do držení neoprávněných uživatelů, nebudou se moci přihlásit k jeho přidruženým účtům, dokud heslo nezjistí, čímž získá hacknutý uživatel nějaký čas navíc. Jedinou nevýhodou přístupové fráze je samozřejmě nutnost ji zadávat pokaždé, když použijete pár klíčů.

Celý proces generování klíčů vypadá takto:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key's randomart image is:
+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |
+-----------------+

Veřejný klíč je nyní umístěn v /home/demo/.ssh/id_rsa.pub Soukromý klíč (identifikace) je nyní umístěn v /home/demo/.ssh/id_rsa

Krok 3 – Zkopírujte veřejný klíč

Jakmile je pár klíčů vygenerován, je čas umístit veřejný klíč na virtuální server, který chceme použít.

Veřejný klíč můžete zkopírovat do souboru author_keys nového počítače pomocí příkazu ssh-copy-id. Ujistěte se, že jste nahradili níže uvedené vzorové uživatelské jméno a IP adresu.

ssh-copy-id [email protected]

Případně můžete vložit klíče pomocí SSH:

cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Bez ohledu na to, který příkaz jste vybrali, měli byste vidět něco jako:

The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts.
[email protected]'s password: 
Now try logging into the machine, with "ssh '[email protected]'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Nyní můžete pokračovat a přihlásit se na adresu [email protected] a nebudete vyzváni k zadání hesla. Pokud však nastavíte přístupovou frázi, budete požádáni o zadání přístupové fráze v tu chvíli (a kdykoli jindy se v budoucnu přihlásíte).

Volitelný krok 4 – Deaktivace hesla pro přihlášení uživatele root

Jakmile zkopírujete své klíče SSH na server a zajistíte, že se můžete přihlásit pouze pomocí klíčů SSH , můžete pokračovat a omezit přihlášení uživatele root tak, aby bylo povoleno pouze pomocí klíčů SSH.

Chcete-li to provést, otevřete konfigurační soubor SSH:

sudo nano /etc/ssh/sshd_config

V tomto souboru najděte řádek, který obsahuje PermitRootLogin a upravit jej tak, aby bylo zajištěno, že se uživatelé mohou připojit pouze pomocí svého klíče SSH:

PermitRootLogin without-password

Uveďte změny v platnost:

service openssh-server restart

Linux
  1. Jak používat klíče SSH s Plesk

  2. Jak nastavit klíče SSH na Ubuntu 16.04

  3. Jak nastavit klíče SSH na Ubuntu 18.04

  1. Jak nakonfigurovat klíče SSH pomocí cPanel

  2. Jak nastavit klíče SSH na Debianu

  3. Jak přenést své klíče SSH na jiný počítač?

  1. Jak vygenerovat a nastavit klíče SSH na CentOS 7

  2. Jak nastavit přihlášení k SSH bez hesla

  3. Jak vygenerovat a nastavit klíče SSH na Debianu 10