Necesito restringir ciertos usuarios para que solo puedan usar SSH con las teclas ssh y otros usuarios puedan iniciar sesión con una clave o contraseña.
un ejemplo:
Me gustaría que el usuario root pueda iniciar sesión de forma remota (a través de sshd) utilizando la clave, por lo que no se aceptará ninguna contraseña (incluso si la contraseña es correcta)
y para otros usuarios (todos en el sistema) pueden iniciar sesión con clave y / o contraseña
¿Como podría hacerlo?
Match
bloque. Verman 5 sshd_config
para el detalle.Configure ssh de la siguiente manera:
Reiniciar SSH
Luego proporcione las claves a aquellos a quienes le gustaría evitar usar contraseñas.
ssh-keygen se utiliza para generar ese par de claves para usted. Aquí hay una sesión donde se crea su propio par de claves privadas / públicas:
El comando ssh-keygen -t rsa inició la creación del par de claves.
No ingresé una frase de contraseña para mi configuración (en su lugar se presionó la tecla Enter).
La clave privada se guardó en .ssh / id_rsa. Este archivo es de solo lectura y solo para usted. Nadie más debe ver el contenido de ese archivo, ya que se utiliza para descifrar toda la correspondencia cifrada con la clave pública.
La clave pública se guarda en .ssh / id_rsa.pub.
Su contenido se copia en el archivo .ssh / Authorized_keys del sistema al que desea enviar SSH sin que se le solicite una contraseña.
Finalmente, bloquee la cuenta (la autenticación de clave seguirá siendo posible).
fuente