GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Cómo aprobar computadoras específicas para SSH en una máquina con la autenticación de contraseña deshabilitada?

Las instrucciones en help.ubuntu.com/community/SSH/OpenSSH/Configuring recomiendan deshabilitar la autenticación de contraseña para que "solo sea posible conectarse desde computadoras que haya aprobado específicamente". Pero no dicen cómo aprobar específicamente una computadora. ¿Cómo hago eso?

Respuesta aceptada:

En cada usuario que desee tener acceso al servidor, ejecute en una terminal:

ssh-keygen
ssh-copy-id <username>@<serverIPorDNSname>

Le preguntará dónde guardarlo, el valor predeterminado está bien. Le pedirá que ingrese una frase de contraseña. Esto es para cifrar la clave en caso de que la computadora sea robada o comprometida. Si no desea una frase de contraseña, deje ambas frases de contraseña en blanco.

El primer comando crea una clave ssh para el usuario actual en el que se ejecuta. El segundo comando ssh ingresa al servidor y agrega la clave del usuario actual a la lista del servidor de quién puede iniciar sesión. Dado que ssh-copy-id está usando ssh, deberá hacer esto antes de deshabilitar los inicios de sesión con contraseña.

Las claves SSH son dos mitades coincidentes. Una mitad se les dice a todos, la otra se mantiene en secreto. Usando un algoritmo matemático, la mitad pública se puede usar para descifrar datos cifrados con la clave privada. Si los datos se descifran con éxito con la clave pública, sabrá sin lugar a dudas que fue la mitad privada de la clave la que los cifró. Entonces, cuando inicia sesión con una clave ssh, el cliente envía un mensaje (cifrado con la clave privada) que básicamente dice "déjeme entrar". El servidor verifica usando la clave pública y si la clave pública está en la lista de computadoras permitidas, el inicio de sesión es exitoso.

ssh-copy-id está (usando ssh) copiando la mitad pública a la lista de servidores de qué claves pueden iniciar sesión (esta lista se almacena en /home//.ssh/authorized_keys2, o en el caso de root en /root/.ssh/authorized_keys2). Si ya deshabilitó la autenticación de contraseña, aún puede agregar una computadora. Solo tiene que copiar la clave pública (en /home/username/.ssh/id_rsa.pub en una computadora cliente) a algo así como una memoria USB y luego agregar el contenido de id_rsa.pub al final de /home//.ssh/authorized_keys2 archivo en el servidor. (Puede hacer esto ejecutando un comando como cat /media/USB/stick/path/to/id_rsa.pub >>/home/<username>/.ssh/authorized_keys2 en el servidor.)

Relacionado:¿El panel táctil dejó de funcionar repentinamente?
Ubuntu
  1. Inicio de sesión SSH en el servidor RHEL 7 sin contraseña

  2. Cómo utilizar claves SSH con Plesk

  3. SSHPass:cómo acceder a un servidor mediante SSH mediante un script sin contraseña (no de forma interactiva)

  4. Cómo instalar el servidor SSH en Ubuntu/Debian con OpenSSH

  5. Servidor de retransmisión SSH con OpenSSH

Cómo configurar la autenticación de dos factores SSH en Ubuntu 16.04 con Google Authenticator

¿Cómo configurar la autenticación basada en clave Ssh para Github usando el archivo ~/.ssh/config?

Cómo configurar la clave SSH en un servidor Plesk

Cómo agregar una clave pública SSH al servidor

Cómo configurar la autenticación de contraseña con Apache en Ubuntu 18.04

Cómo proteger SSH con Fail2Ban