GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit přihlášení SSH bez hesla v Linuxu

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


Linux
  1. Jak nastavit SSH bez hesla v systému Linux

  2. Jak nastavit Reverse SSH Tunnel v Linuxu

  3. Jak funguje SSH bez hesla v systému Linux / UNIX

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

  2. Jak změnit port SSH v Linuxu

  3. Jak nastavit klíče SSH pro přihlášení k SSH „bez hesla“ na CentOS/RHEL

  1. Linux – Jak přihlásit uživatele do Tty z Ssh?

  2. Jak nastavit klíče SSH pro přihlášení k ssh „bez hesla“ v systému Linux

  3. Jak nastavit klíče SSH pro přihlášení pomocí „veřejného/soukromého klíče“ SSH v systému Linux