Der Beitrag beschreibt die Schritte zum Konfigurieren von passwortlosem SSH zwischen 2 CentOS/RHEL-Hosts. Die Schritte bleiben jedoch mit geringfügigen Änderungen in allen Linux-Distributionen fast gleich.
1. Melden Sie sich als der Benutzer an, für den Sie die SSH-Schlüssel einrichten möchten, in diesem Fall verwenden wir den Benutzer „geek“.
2. Erstellen Sie einen privaten und öffentlichen Schlüssel:
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/geek/.ssh/id_rsa): Created directory '/home/geek/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/geek/.ssh/id_rsa. Your public key has been saved in /home/geek/.ssh/id_rsa.pub. The key fingerprint is: SHA256:joc/+DIFmDiSD9qc/ZuF5I/iA1ghBK+f3niOnbfYFrk geek@node01 The key's randomart image is: +---[RSA 2048]----+ |+. | |... | | o.o o | |+.+ o . | |oO + .oS | |o.*..oo=. | | o. .==+ | | . =++EB. | | ++B=**+. | +----[SHA256]-----+
Hinweis:
Sie können eine Option auf dem ssh-keygen wie die Größe und den Typ angeben. Weitere Informationen zu man ssh-keygen
-b Bits
Gibt die Anzahl der Bits im zu erstellenden Schlüssel an. Für RSA-Schlüssel beträgt die Mindestgröße 768 Bit und der Standardwert 2048 Bit. Im Allgemeinen werden 2048 Bit als ausreichend angesehen. DSA-Schlüssel müssen gemäß FIPS 186-2 genau 1024 Bit lang sein.
-t eingeben
Gibt den Typ des zu erstellenden Schlüssels an. Die möglichen Werte sind „rsa1“ für Protokollversion 1 und „dsa“, „ecdsa“ oder „rsa“ für Protokollversion 2.
3. Neue Schlüssel befinden sich unter /home/geek/.ssh . Wechseln Sie in das .ssh-Verzeichnis, in dem der Schlüssel erstellt wurde, und überprüfen Sie:
$ cd .ssh $ ls id_rsa id_rsa.pub
4. Kopieren Sie den öffentlichen Schlüssel auf den Zielserver (node02)
$[geek@node01 .ssh]$ ssh-copy-id -i id_rsa.pub geek@node02 /bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_rsa.pub" The authenticity of host 'node02 (192.168.1.12)' can't be established. ECDSA key fingerprint is SHA256:PJplQZl2GQqpoJDK7d4nubIP65/A6YyKBGSSaObvzXo. ECDSA key fingerprint is MD5:a1:53:e6:d8:9a:71:47:ba:86:a1:d5:d2:25:4c:7c:3b. Are you sure you want to continue connecting (yes/no)? yes /bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_rsa.pub" /bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys geek@node02's password: Number of key(s) added: 1 Now try logging into the machine, with "ssh 'geek@node02'" and check to make sure that only the key(s) you wanted were added.
5. Testen Sie nun Ihren Schlüssel, Sie sollten sich direkt auf dem Zielserver anmelden.
[geek@node01 .ssh]$ ssh geek@node02 [geek@node02 ~]$
Hinweis:Wenn Ihr Server das Paket openssh-clients nicht installiert hat, ist eine andere Alternative :
$ cat id_rsa.pub | ssh user@node02 "cat >> ~/.ssh/authorized_keys"