GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nastavit přihlášení SSH bez hesla na CentOS 8 / RHEL 8

SSH je klientský a serverový protokol a pomáhá nám bezpečně přistupovat ke vzdálenému systému přes síť prostřednictvím šifrovaného tunelu. SSH má vestavěný mechanismus přenosu souborů (SCP) pro přenos souborů a adresářů po síti a je mnohem bezpečnější než FTP (File Transfer Protocol).

Ve větších prostředích je obtížné zadávat heslo pokaždé, když chcete získat přístup ke vzdáleným počítačům. Pro usnadnění přihlašování můžeme použít funkci SSH bez hesla pro přístup ke vzdálenému počítači bez zadávání hesla.

Zde uvidíme, jak nastavit přihlášení bez hesla SSH na CentOS 8 / RHEL 8.

Předpoklady

Zde máme dva stroje se dvěma různými uživatelskými jmény.

Název hostitele IP adresa Uživatel OS Účel
server.itzgeek.local 192.168.0.10 raj CentOS 8 / RHEL 8 Zdrojový stroj
client.itzgeek.local 192.168.0.20 ram CentOS 8 / RHEL 8 Cílový stroj

Zde budu místo IP adresy používat název hostitele.

Postupujte podle pokynů k vytvoření přihlašovacího jména bez hesla.

Nastavte přihlášení SSH bez hesla na CentOS 8

Abychom povolili přihlašování bez hesla SSH, musíme vložit položku veřejného klíče místního počítače do souboru ~/.ssh/authorized_keys (~ představuje domovský adresář uživatele) vzdáleného počítače.

SSH přihlášení bez hesla můžeme nastavit dvěma způsoby. Vyberte jeden ze způsobů.

  1. Použití příkazu ssh-copy-id
  2. Ruční kopírování klíčů

Použití příkazu ssh-copy-id

Tato metoda zahrnuje vygenerování páru klíčů SSH na zdrojovém počítači a jeho umístění na cílový počítač pomocí jediného příkazu (ssh-copy-id).

Příkaz ssh-copy-id připojí vygenerovaný veřejný klíč SSH k existujícím klíčům v souboru ~/.ssh/authorized_keys v cíli. Pokud soubor ~/.ssh/authorized_keys není na cílovém počítači přítomen, příkaz jej vytvoří a umístí veřejný klíč SSH.

Vygenerovat veřejný klíč

Přihlaste se ke zdrojovému počítači a pomocí následujícího příkazu vytvořte pár klíčů SSH.

[raj@server ~]$ ssh-keygen

Výstup:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/raj/.ssh/id_rsa):
Created directory '/home/raj/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/raj/.ssh/id_rsa.
Your public key has been saved in /home/raj/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:8BuI21rECULGQMs3BtU2o3jHyHghg+p5RE8naQTQP2A [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|+**o+..          |
|o=+E X .         |
|.oX+& *          |
|.ooO.X =         |
|. = o * S        |
| o . +   o       |
|  . . o .        |
|     o           |
|    .            |
+----[SHA256]-----+

Jakmile vytvoříte, najdete v adresáři .ssh dva soubory id_rsa a id_rsa.pub. Pro přihlášení bez hesla SSH budeme používat id_rsa.pub (veřejný klíč).

[raj@server ~]$ ls -al ~/.ssh/

Výstup:

total 8
drwx------. 2 raj raj   38 Nov  7 21:50 .
drwx------. 3 raj raj   74 Nov  7 21:50 ..
-rw-------. 1 raj raj 1831 Nov  7 21:50 id_rsa
-rw-r--r--. 1 raj raj  406 Nov  7 21:50 id_rsa.pub

Kopírovat veřejný klíč

Použijte příkaz ssh-copy-id, který je součástí balíčku openssh-clients se vstupním souborem id_rsa.pub.

[raj@server ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Výstup:

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/raj/.ssh/id_rsa.pub"
The authenticity of host 'client.itzgeek.local (192.168.0.20)' can't be established.
ECDSA key fingerprint is SHA256:z4TLSbno9MLNF1ucNq4gtMlLQDVgrfLKEt8JguchKdo.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

Ruční kopírování klíčů

Vygenerovat veřejný klíč

Tato metoda zahrnuje vygenerování páru klíčů SSH na zdrojovém počítači a jeho umístění na cílový počítač tak, že se do něj ručně přihlásíte.

Nejprve se přihlaste do zdrojového počítače a pomocí následujícího příkazu vytvořte pár klíčů SSH.

[raj@server ~]$ ssh-keygen

Výstup:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/raj/.ssh/id_rsa):
Created directory '/home/raj/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/raj/.ssh/id_rsa.
Your public key has been saved in /home/raj/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:8BuI21rECULGQMs3BtU2o3jHyHghg+p5RE8naQTQP2A [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|+**o+..          |
|o=+E X .         |
|.oX+& *          |
|.ooO.X =         |
|. = o * S        |
| o . +   o       |
|  . . o .        |
|     o           |
|    .            |
+----[SHA256]-----+

Jakmile vytvoříte, najdete v adresáři .ssh dva soubory id_rsa a id_rsa.pub. Pro přihlášení bez hesla SSH budeme používat id_rsa.pub (veřejný klíč).

[raj@server ~]$ ls -al ~/.ssh/

Výstup:

total 8
drwx------. 2 raj raj   38 Nov  7 21:50 .
drwx------. 3 raj raj   74 Nov  7 21:50 ..
-rw-------. 1 raj raj 1831 Nov  7 21:50 id_rsa
-rw-r--r--. 1 raj raj  406 Nov  7 21:50 id_rsa.pub

Kopírovat veřejný klíč

Pomocí příkazu scp můžete zkopírovat soubor id_rsa.pub do cíle nebo zkopírovat obsah souboru id_rsa.pub a vložit jej do souboru ~/.ssh/authorized_keys cílového počítače.
Metoda 1

Přihlaste se k cílovému počítači a vytvořte adresář .ssh v domovském adresáři uživatele, pokud neexistuje.

[ram@client ~]$ mkdir ~/.ssh

[ram@client ~]$ chmod 700 ~/.ssh

Pomocí příkazu scp zkopírujte soubor id_rsa.pub do adresáře /tmp cílového počítače.

[raj@server ~]$ scp -pr  ~/.ssh/id_rsa.pub [email protected]:/tmp

Budete muset zadat heslo pro cíl, protože ještě musíme nakonfigurovat přihlášení bez hesla.

Umístěte veřejný klíč do souboru author_keys pro přihlášení bez hesla.

[ram@client ~]$ cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys

Aktualizujte oprávnění souboru.

[ram@client ~]$ chmod 600 ~/.ssh/authorized_keys
Metoda 2

Přihlaste se k cílovému počítači a vytvořte adresář .ssh v domovském adresáři uživatele, pokud neexistuje.

[ram@client ~]$ mkdir ~/.ssh

[ram@client ~]$ chmod 700 ~/.ssh

Upravte soubor author_keys.

[ram@client ~]$ vi ~/.ssh/authorized_keys

Na zdrojovém počítači zobrazte obsah souboru id_rsa.pub pomocí příkazu cat.

[raj@server ~]$ cat ~/.ssh/id_rsa.pub

Výstup: (Ukázka)

Zkopírujte obsah a vložte jej do souboru autorizovaných klíčů v cíli a uložte jej.

Potom aktualizujte oprávnění souboru.

[ram@client ~]$ chmod 600 ~/.ssh/authorized_keys

Test přihlášení bez hesla

Nyní přistupte ke vzdálenému počítači pomocí příkazu ssh.

[raj@server ~]$ ssh [email protected]

Nyní byste měli mít přístup ke vzdálenému počítači bez hesla.

Závěr

To je vše. Doufám, že jste schopni nastavit přihlašování SSH bez hesla na CentOS 8 / RHEL 8. Podělte se prosím o svůj názor v sekci komentářů.


Cent OS
  1. Jak nastavit klíče SSH na CentOS 8

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

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

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

  2. Heslo Méně Přihlášení SSH – CentOS 6 / RHEL 6

  3. Jak nastavit SysLog Server na CentOS 7 / RHEL 7

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

  2. Jak nastavit server NFS na CentOS 7 / RHEL 7

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