GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar el inicio de sesión SSH sin contraseña

Introducción

SSH (Secure Shell) permite conexiones remotas seguras entre dos sistemas. Con este protocolo criptográfico, puede administrar máquinas, copiar o mover archivos en un servidor remoto a través de canales encriptados.

Hay dos formas de iniciar sesión en un sistema remoto a través de SSH:mediante autenticación de contraseña o autenticación de clave pública (inicio de sesión SSH sin contraseña).

En este tutorial, descubrirá cómo configurar y habilitar el inicio de sesión SSH sin contraseña.

Requisitos previos

  • Acceso a la línea de comandos/ventana de terminal
  • Usuario con sudo o raíz privilegios
  • Un servidor local y un servidor remoto
  • Acceso SSH a un servidor remoto a través de la línea de comandos/ventana de terminal

Antes de comenzar:verifique las claves SSH existentes

Es posible que ya tenga un par de claves SSH generado en su máquina. Para ver si tiene claves SSH en el sistema, ejecute el comando:

ls -al ~/.ssh/id_*.pub

Si el resultado le dice que no existen tales archivos, continúe con el siguiente paso, que le muestra cómo generar claves SSH.

En caso de que las tenga, puede usar las claves existentes, hacer una copia de seguridad y crear un nuevo par o sobrescribirlo.

Paso 1:generar un par de claves SSH

1. Lo primero que debe hacer es generar un par de claves SSH en la máquina en la que está trabajando actualmente.

En este ejemplo, generamos un par de claves de 4096 bits. También agregamos una dirección de correo electrónico, sin embargo, esto es opcional. El comando es:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

2. A continuación, escriba la ubicación en la que desea guardar las claves o pulse Intro. para aceptar la ruta predeterminada.

3. También le pide que establezca una frase de contraseña. Aunque esto hace que la conexión sea aún más segura, puede interrumpirse al configurar procesos automatizados. Por lo tanto, puede escribir una frase de contraseña o simplemente presionar Enter para omitir este paso.

4. La salida luego le dice dónde almacenó la identificación y la clave pública y le brinda la huella digital de la clave.

5. Verifique que haya creado correctamente el par de claves SSH ejecutando el comando:

ls -al ~/.ssh/id_*.pub

Debería ver la ruta de la clave de identificación y la clave pública, como en la imagen a continuación:

Paso 2:Cargue la clave pública en el servidor remoto

Puede cargar la clave SSH pública en un servidor remoto con el ssh-copy-id comando o el cat dominio. A continuación puede encontrar ambas opciones.

Opción 1:cargar la clave pública mediante el comando ssh-copy-id

Para habilitar el acceso sin contraseña, debe cargar una copia de la clave pública en el servidor remoto.

1. Conéctese al servidor remoto y use el ssh-copy-id comando:

ssh-copy-ide [remote_username]@[server_ip_address]

2. La clave pública se copia automáticamente en .ssh/authorized_keys archivo.

Opción 2:cargar la clave pública mediante el comando cat

Otra forma de copiar la clave pública al servidor es usando el cat comando.

1. Comience conectándose al servidor y creando un .ssh directorio en él.

ssh [remote_username]@[server_ip_address] mkdir -p .ssh

2. Luego, ingrese la contraseña para el usuario remoto.

3. Ahora puede cargar la clave pública desde la máquina local al servidor remoto. El comando también especifica que la clave se almacenará con el nombre authorized_keys en el .ssh recién creado directorio:

cat .ssh/id_rsa.pub | ssh [remote_username]@[server_ip_address] 'cat >> .ssh/authorized_keys'

Paso 3:Iniciar sesión en el servidor sin contraseña

Con el par de claves SSH generado y la clave pública cargada en el servidor remoto, ahora debería poder conectarse a su servidor dedicado sin proporcionar una contraseña.

Compruebe si la configuración funciona ejecutando el comando:

ssh [remote_username]@[server_ip_address]

El sistema debe iniciar sesión directamente en el servidor remoto, no se requiere contraseña.

Opcional:solución de problemas de permisos de archivo de servidor remoto

Los permisos de archivo en el servidor remoto pueden causar problemas con el inicio de sesión SSH sin contraseña. Este es un problema común con las versiones anteriores de SSH.

Si aún se le solicita una contraseña después de seguir todos los pasos, comience editando los permisos de archivo en el servidor remoto.

  • Establecer permisos 700 para el .ssh directorio.
  • Establecer permisos 640 para .ssh/authorized_keys directorio.

Edite los permisos de archivo con el siguiente comando:

ssh [remote_username]@[server_ip_address] "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"

Introduzca su contraseña cuando se le solicite. No habrá salida si la acción fue exitosa. El problema debe resolverse ahora.


Linux
  1. Cómo configurar el inicio de sesión SSH sin contraseña

  2. Cómo configurar claves SSH

  3. Cómo configurar claves SSH en Ubuntu 18.04

  4. Cómo configurar el inicio de sesión SSH sin contraseña en Linux

  5. Cómo funciona SSH sin contraseña en Linux / UNIX

Cómo configurar el inicio de sesión sin contraseña SSH en CentOS 7 / RHEL 7

Cómo configurar el inicio de sesión sin contraseña SSH en CentOS 8 / RHEL 8

Cómo configurar la autenticación SSH sin contraseña en Linux

¿Cómo configurar el inicio de sesión SSH sin contraseña usando ssh-keygen?

Cómo configurar el inicio de sesión sin contraseña SSH en AlmaLinux

Inicio de sesión SSH sin contraseña en 3 pasos simples