Mám nastaven veřejný / soukromý klíč, ale nevím, kam by měl jít. Pokud by oba tyto soubory byly umístěny do ~/.ssh/ pro mého uživatele?
Odpověď
Soukromý klíč zůstane doma. Veřejný klíč cestuje:
- Vložte svůj soukromý klíč do
~/.ssh(místního hostitele). Obvykle to bude~/.ssh/id_rsa. - Vložte svůj veřejný klíč do
~/.ssh/authorized_keys(vzdáleného hostitele).
První krok se obvykle provádí automaticky, když vytvoříte klíč, druhého lze dosáhnout pomocí:
$ ssh-copy-id ~/.ssh/id_rsa.pub user@remotehost
Pokud máte jakoukoli zbytkovou konfiguraci týkající se vzdáleného hostitele, můžete s tím narazit na nějaké potíže (autentizace selhává nebo „příliš mnoho selhání ověřování“ ). Chcete-li se tohoto problému zbavit, můžete vynutit ssh-copy-id použít ověřování pomocí hesla s:
$ ssh-copy-id -o"PubkeyAuthentication no" ~/.ssh/id_rsa.pub user@remotehost
Samozřejmě, o Pokud jsou vaše klíče správně umístěny, není třeba heslo:
$ ssh user@remotehost
Možná budete chtít přidat nějakou konfiguraci SSH do ~/.ssh/config aby to bylo ještě jednodušší:
Host [custom name for the remote machine] Hostname [remote hostname or IP] User [remote username] IdentityFile /home/[your local user]/.ssh/id_rsa
Díky tomu stačí zadat následující pro přihlášení ke vzdálenému hostiteli:
$ ssh [custom name for the remote machine]
Upravit: pokud jsou oba počítače (místní i vzdálené) stejné, můžete postup zjednodušit pomocí:
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Tímto se připojí váš veřejný klíč k souboru authorized_keys. Samozřejmě dalším způsobem, jak se přihlásit jako někdo jiný na vašem místním počítači, je použít:
$ su [another user]
Tím vám ušetříte transakci SSH tam, kde ji možná nebudete potřebovat . Bez hesla su lze nastavit pomocí sudo :
$ sudo -iu [another user]
ssh localhost?~/.ssh/authorized_keysmístně. K tomu stačí použítcat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys. Upravil jsem svou odpověď.-i, aby celý příkaz vypadal$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost.