La publicación enumera los pasos para configurar claves ssh para configurar ssh sin contraseña en Linux. ssh-keygen es el comando utilizado para generar las claves públicas y privadas si aún no lo ha hecho. Con el comando ssh-copy-id, podemos copiar las claves al servidor de destino en el que queremos tener una configuración de ssh sin contraseña.
1. Inicie sesión como el usuario que desea configurar las claves ssh. En este caso, estamos usando el usuario Sandy.
2. Cree una clave pública y privada para el usuario Sandy. Presione enter dos veces cuando se le solicite la frase de contraseña, ya que vamos a mantener la frase de contraseña vacía.
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/Users/sandy/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /Users/sandy/.ssh/id_rsa. Your public key has been saved in /Users/sandy/.ssh/id_rsa.pub. The key fingerprint is: SHA256:Y2lfHXY1+i5Pok1NuhsfZ16JsIrdUzY1699SwlvOHOY [email protected] The key's randomart image is: +---[RSA 2048]----+ | ..| | . o| | .o .| | . o.= | | S ...ooo| | o o .o+O++| | ..oB=#=| | o o.+ @EO| | . o o.+.+=| +----[SHA256]-----+Nota :Puede especificar una opción en el ssh-keygen como el tamaño y el tipo. Puede encontrar más información en la página man del comando ssh-keygen
Desde la página man de ssh-keygen:
-b bits Specifies the number of bits in the key to create. For RSA keys, the minimum size is 768 bits and the default is 2048 bits. Generally, 2048 bits is considered sufficient. DSA keys must be exactly 1024 bits as specified by FIPS186-2. -t type Specifies the type of key to create. The possible values are “rsa1” for protocol version 1 and “dsa”, “ecdsa” or “rsa” for protocol version 2.
3. Las nuevas claves se ubicarán en /home/test1/.ssh. Muévase a su directorio .ssh donde se creó la clave, verifique para el público
$ cd .ssh $ $ ls -lrt id* -rw-r--r-- 1 sandy staff 414 Oct 20 20:35 id_rsa.pub -rw------- 1 sandy staff 1675 Oct 20 20:35 id_rsa
4.Copie la clave pública en el servidor de destino.
$ ssh-copy-id -i id_rsa.pub test1@lab02 The authenticity of host 'lab02 (192.168.219.149)' can't be established. RSA key fingerprint is dd:0c:77:26:da:f4:ed:30:64:26:96:29:b3:38:cc:9c. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'lab02,192.168.219.149' (RSA) to the list of known hosts. test1@lab02's password:
Verificar
1. Ahora intente iniciar sesión en la máquina, con "ssh 'test1@lab02'", y verifique el archivo ~/.ssh/authorized_keys para asegurarnos de que no hemos agregado claves adicionales que no esperabas.
2. Pruebe su clave, debe iniciar sesión directamente en su servidor de destino sin que le solicite una contraseña.
$ ssh test1@lab02 [test1@lab02 ~]$
método alternativo si el comando ssh-copy-id no está disponible
Si su servidor no tiene los openssh-clients paquete instalado, puede utilizar un método alternativo. Puede copiar directamente la clave pública usando el comando scp.
$ cat id_rsa.pub | ssh user@lab02 "cat >> ~/.ssh/authorized_keys"