Zde je krátká poznámka o konfiguraci přihlášení bez hesla mezi 2 systémy Linux. Proces v podstatě zahrnuje vygenerování veřejného ověřovacího klíče a jeho připojení k souboru ~/.ssh/authorized_keys vzdáleného hostitele.
Vygenerujte ověřovací klíč
Pokud soubor ověřovacího klíče SSH neexistuje, vygenerujte jej spuštěním ssh-keygen příkaz. Když budete vyzváni k zadání přístupové fráze, použijte prázdnou přístupovou frázi, pokud je vyžadováno úplné přihlášení bez hesla:
# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/user/.ssh/id_rsa. Your public key has been saved in /home/user/.ssh/id_rsa.pub. The key fingerprint is: 1e:b2:f4:89:5a:7f:2d:a5:a5:4d:6d:66:2c:82:d8:18 root@remote-host
Zkopírujte veřejný klíč na vzdálený hostitel
Použijte ssh-copy-id příkaz k instalaci veřejné poloviny nově vygenerovaného ověřovacího klíče do domovského adresáře konkrétního uživatele na vzdáleném hostiteli. Příkaz ssh-copy-id pak automaticky připojí informace o identitě do ~/.ssh/authorized_keys soubor pro zadaného uživatele na vzdáleném hostiteli (vytvoření ~/.ssh a~/.ssh/authorized_keys, je-li to nutné).
# ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-host user@remote-hosts's password:
Alternativně, pokud server není nainstalován s openssh-clients (balíček, který poskytuje příkazový nástroj ssh-copy-id), můžete ověřovací klíč zkopírovat příkazem:
# cat ~/.ssh/id_rsa.pub | ssh user@remote-host "cat >> ~/.ssh/authorized_keys"
Pokud je vše správně nakonfigurováno, měli byste být schopni se přihlásit ke vzdálenému hostiteli bez hesla.
Odstraňování problémů
Zkontrolujte správná oprávnění
Nejčastější příčinou problémů se zprovozněním autentizace ssh pomocí klíče jsou oprávnění k souborům na vzdáleném serveru ssh
Pokud byly provedeny výše uvedené kroky a ssh na příslušného uživatele stále vyžaduje hesla, zkontrolujte oprávnění na soubory místního i vzdáleného uživatele . Oprávnění adresářů by měla být přesně taková, jak je uvedeno níže. Zde uvedený příklad je pro uživatele „oracle“
drwx------. 25 oracle oinstall 4096 Aug 21 11:01 /home/oracle/ drwx------. 2 oracle oinstall 4096 Aug 17 13:13 /home/oracle/.ssh -rw-------. 1 oracle oinstall 420 Aug 17 13:13 /home/oracle/.ssh/authorized_keys
Pokud oprávnění nejsou taková, jaká jsou uvedena výše, nastavte je správně :
# chmod 600 ~/.ssh/authorized_keys chmod 700 ~/.ssh/
Restartujte službu sshd, aby se změny projevily:
# service sshd restart
vypnutí SElinux
SELinux může také potenciálně zabránit sshd v přístupu k adresáři ~/.ssh na serveru. Tento problém lze vyloučit (nebo vyřešit) spuštěním restorecon takto v adresáři ~/.ssh vzdáleného uživatele:
# restorecon -Rv ~/.ssh