Il post delinea i passaggi per configurare ssh senza password tra 2 host CentOS/RHEL. I passaggi rimangono quasi gli stessi con lievi modifiche in tutte le distribuzioni Linux.
1. Accedi come utente per cui desideri impostare le chiavi ssh, in questo caso stiamo usando l'utente "geek".
2. Crea una chiave privata e pubblica :
$ 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]-----+
Nota:
Puoi specificare un'opzione su ssh-keygen come la dimensione e il tipo. Maggiori informazioni su man ssh-keygen
-b bit
Specifica il numero di bit nella chiave da creare. Per le chiavi RSA, la dimensione minima è 768 bit e quella predefinita è 2048 bit. Generalmente, 2048 bit sono considerati sufficienti. Le chiavi DSA devono essere esattamente 1024 bit come specificato da FIPS 186-2.
tipo -t
Specifica il tipo di chiave da creare. I valori possibili sono "rsa1" per il protocollo versione 1 e "dsa", "ecdsa" o "rsa" per il protocollo versione 2.
3. Le nuove chiavi si troveranno su /home/geek/.ssh . Passa alla directory .ssh in cui è stata creata la chiave e verifica:
$ cd .ssh $ ls id_rsa id_rsa.pub
4. Copia la chiave pubblica sul server di destinazione (nodo02)
$[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. Ora prova la tua chiave, dovresti accedere direttamente al tuo server di destinazione.
[geek@node01 .ssh]$ ssh geek@node02 [geek@node02 ~]$
Nota:se il tuo server non ha installato il pacchetto openssh-clients, un'altra alternativa sarà :
$ cat id_rsa.pub | ssh user@node02 "cat >> ~/.ssh/authorized_keys"