Jak na SSH přihlášení bez hesla

Tento návod popisuje, jak nastavit SSH pro vzdálené přihlašování bez hesla.

Nejdříve vytvoříme soukromý a veřejný SSH klíč pomocí příkazu ssh-keygen. Zadejte příkaz:

ssh-keygen -t rsa

Generování párů klíčů bude po vás chtít umístění a heslo. Vše jenom potvrďte a heslo nezadávejte.

Generating public/private rsa key pair.
Enter file in which to save the key (/home/radim/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/radim/.ssh/id_rsa.
Your public key has been saved in /home/radim/.ssh/id_rsa.pub.
The key fingerprint is:
1e:8d:06:28:95:80:6e:01:ed:aa:c2:40:09:9c:ec:e5 radim@fox-pc
The key's randomart image is:
+--[ RSA 2048]----+
|=oo...           |
|o=.o..           |
|+.* . .          |
| *.E   . o       |
|o.      S .      |
|o      o .       |
|+       .        |
|o.               |
|.                |
+-----------------+

Nyní se vám ve složce .ssh v domovském adresáři vytvořili dva soubory - id_rsa (soukromý klíč) a id_rsa.pub (veřejný klíč, který se musí dát na server, na který se chcete přihlašovat). Pokud byste zadali heslo, tak by po vás ssh přihlášení chtělo pokaždé heslo, proto jsme heslo nedávali žádné.

Nyní zkopírujeme obsah id_rsa.pub na server, abychom se na něho pak pomocí klíče mohli přihlásit. Zadejte příkaz:

ssh-copy-id uzivatel@server

Tento příkaz za vás přidá obsah souboru id_rsa.pub do souboru authorized_keys na serveru do složky .ssh konkrétního uživatele. Nyní se můžete na server bez zadávání hesla připojit pomocí:

ssh uzivatel@server

A jste tam. Můžete si prohlédnout obsah souboru authorized_keys. Pokud byste chtěli na server udělat takovéhle připojení ještě z jiného počítače pomocí jiného páru SSH klíčů, tak se do souboru další údaj přidá za ten současný. Svůj soukromý rsa_id nikomu nedávejte a pokud možno si ho ještě někam bezpečně uložte.