SSH přihlášení bez hesla pomocí klíče (revidováno)
OD KLIENTA – Generovat klíč: ssh-keygen -t rsa
Veřejný a soukromý klíč (id_rsa.pubaid_rsa) se automaticky uloží do~/.ssh/adresář.
Nastavení bude jednodušší, pokud použijete prázdnou přístupovou frázi. Pokud to nechcete udělat, postupujte podle tohoto průvodce, ale také zkontrolujte bod pod odrážkou níže.- OD KLIENTA – Zkopírujte veřejný klíč do server:
ssh-copy-id user@server
Veřejný klíč klienta bude zkopírován do místění server~/.ssh/authorized_keys. - OD KLIENTA – Připojení k serveru:
ssh user@server
Pokud nyní po popsaných 3 krocích nefunguje, zkuste následující:
- Zkontrolujte
~/sshoprávnění ke složce v počítači klient a server. - Zkontrolujte
/etc/ssh/sshd_configv server, aby bylo zajištěno, že možnostiRSAAuthentication,PubkeyAuthenticationaUsePAMnejsou zakázány, mohou být ve výchozím nastavení povoleny pomocíyes. - Pokud jste při generování klíče klienta zadali přístupové heslo, můžete zkusit
ssh-agent&ssh-addk dosažení připojení bez hesla ve vaší relaci. - Zkontrolujte obsah
/var/log/auth.logna serveru server najdete problém, proč je ověřování klíčů vůbec vynecháno.
Dodatek pro administrátory
Pokud chcete uživatelům dovolit přihlašování pomocí klíčů, musíte mít zapnutou příslušnou volbu v konfiguraci. Je pravděpodobné, že už bude zapnutá od instalace (není důvod ji vypínat), ale přesto je dobré v případě problémů ověřit, že je vše v pořádku. Volbu naleznete v souboru /etc/ssh/sshd_config:
PubkeyAuthentication yes
Pokud je volba na yes, je tato možnost povolena a vše bude fungovat. Pokud své uživatele chcete donutit používat právě tuto bezpečnou formu autorizace, můžete jim heslo úplně zakázat. To provedete ve stejném konfiguračním souboru změnou následujících voleb:
ChallengeResponseAuthentication no PasswordAuthentication no UsePAM no
Tímto postupem jednak zajistíte bezpečnější přihlašování uživatelů, ale také zamezíte zlým hochům, aby zkoušeli hádat heslo a „loupat perníček“. V každém případě nezapomeňte po jakékoliv změně restartovat SSH server:
service sshd restart