Cómo configurar SSH sin contraseñas

Cómo configurar SSH sin contraseñas
SSH se usa para iniciar sesión de forma remota en servidores para ejecutar los comandos y programas. Puede iniciar sesión en sistemas remotos a través de la autenticación de contraseña y a través de la autenticación de clave pública. Si usa regularmente SSH para conectarse a servidores remotos, el método de autenticación de la clave pública es mejor para usted. Este método es un método de inicio de sesión seguro y sin contraseña.

En este artículo, explicaremos cómo configurar SSH sin contraseñas en un sistema operativo Linux. Utilizaremos la aplicación de terminal de línea de comandos para este propósito. Para abrir el terminal de la línea de comando, use el atajo de teclado.

Hemos explicado el procedimiento mencionado en este artículo sobre el Ubuntu 20.04 sistema. Se puede seguir más o menos el mismo procedimiento en las versiones de Debian y Ubuntu anteriores.

Siga los pasos a continuación para configurar SSH sin contraseñas en su sistema Linux.

Genere un nuevo par de claves SSH en la máquina local

El primer paso será generar una nueva clave SSH en su sistema local. Para hacer esto, emita el siguiente comando en la terminal:

$ ssh -keygen -t rsa

Presione ENTER para aceptar todos los campos como predeterminados.

El comando anterior creará el keypair, yo.mi., la clave pública y la clave privada. La clave privada se mantiene en el sistema, mientras que la clave pública se comparte. Estas llaves se almacenan en el .carpeta ssh.

Puede ver el keyPair generado ingresando el siguiente comando:

$ ls -l .ssh

Copiar la clave pública a la máquina remota

En el siguiente paso, copie la clave pública al sistema remoto al que desea acceder desde su sistema local sin contraseñas. Usaremos el comando SSH-Copy-ID que está disponible de forma predeterminada en la mayoría de las distribuciones de Linux. Este comando copiará la clave pública ID_RSA.pub al .archivo ssh/autorized_keys en el sistema remoto.

La sintaxis para SSH-Copy-ID es la siguiente:

$ SSH-COPY-ID REMPIT_USER@remoto_ip

En nuestro ejemplo, el comando sería:

$ ssh-copy-id [email protected]

En el sistema remoto, puede verificar la transferencia de la clave pública viendo el archivo autorizado_keys.

$ gato .ssh/autorized_keys

Establezca el permiso en el archivo autorizado_keys en el sistema remoto en 600. Use el siguiente comando para hacerlo:

$ chmod 600 .ssh/autorized_keys

Establezca el permiso en el .Directorio SSH en el sistema remoto a 700. Use el siguiente comando para hacerlo:

$ chmod 700 .ssh

Agregue la clave privada al agente de autenticación SSH en el servidor local

En nuestra máquina local, agregaremos la clave privada al agente de autenticación SSH. Esto nos permitirá iniciar sesión en el servidor remoto sin tener que ingresar una contraseña cada vez.

Aquí está el comando para hacerlo:

$ ssh-add

Iniciar sesión en un servidor remoto usando las teclas SSH

Después de realizar los pasos anteriores, intente iniciar sesión en su Sevedor remoto. Esta vez, podrá iniciar sesión en su servidor remoto sin ingresar una contraseña.

Eso es todo lo que necesita para configurar el inicio de sesión de SSH sin contraseñas en un Ubuntu 20.04 sistema. Recuerde, puede compartir la clave pública con cualquiera, pero nunca compartir su clave privada. Cualquier persona con la clave privada podrá iniciar sesión en cualquier sistema que tenga la clave pública coincidente.