La publicación describe los pasos para configurar ssh sin contraseña entre 2 hosts CentOS/RHEL. Aunque los pasos siguen siendo casi los mismos con ligeros cambios en todas las distribuciones de Linux.
1. Inicie sesión como el usuario que desea configurar las claves ssh, en este caso, estamos usando el usuario "geek".
2. Crea una clave pública y privada:
$ 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:
Puede especificar una opción en el ssh-keygen como el tamaño y el tipo. Más información sobre el man ssh-keygen
-b bits
Especifica el número de bits en la clave para crear. Para las claves RSA, el tamaño mínimo es de 768 bits y el predeterminado es de 2048 bits. Generalmente, 2048 bits se considera suficiente. Las claves DSA deben tener exactamente 1024 bits según lo especificado por FIPS 186-2.
tipo -t
Especifica el tipo de clave a crear. Los valores posibles son "rsa1" para la versión 1 del protocolo y "dsa", "ecdsa" o "rsa" para la versión 2 del protocolo.
3. Las nuevas claves se ubicarán en /home/geek/.ssh . Vaya al directorio .ssh donde se creó la clave y verifique:
$ cd .ssh $ ls id_rsa id_rsa.pub
4. Copie la clave pública en el servidor de destino (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. Ahora pruebe su clave, debe iniciar sesión directamente en el servidor de destino.
[geek@node01 .ssh]$ ssh geek@node02 [geek@node02 ~]$
Nota:si su servidor no tiene instalado el paquete openssh-clients, otra alternativa será:
$ cat id_rsa.pub | ssh user@node02 "cat >> ~/.ssh/authorized_keys"