Pregunta Restricción SSHd por usuario


Necesito restringir a ciertos usuarios para que solo puedan SSH al usar las claves ssh y otros usuarios pueden 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) usando la clave, por lo que no se aceptaría ninguna contraseña (incluso si la contraseña es correcta)

y para otros usuarios (todos en el sistema) pueden iniciar sesión con la clave y / o contraseña

¿Como podría hacerlo?


8
2018-02-04 21:15


origen




Respuestas:


Lo que yo haría es establecer /etc/sshd/sshd_config tal que

PermitRootLogin without-password

solo por seguridad adicional y para evitar tener la contraseña de root bloqueada (solo permitiría que root inicie sesión usando una clave)

En vez de eso usaría AllowGroups en lugar de AllowUserEn cuanto a mí, sería más conveniente agregar usuarios a un grupo en lugar de sshd_config Pero eso podría depender de tus preferencias personales.


1
2018-03-04 23:40





Creo que lo que quieres es "Match User". Lo usa para hacer coincidir un nombre de usuario, luego sangra una serie de configuraciones que se aplican específicamente a ese usuario.

Match User Joe
  PasswordAuthentication no

Match User Jane
  PasswordAuthentication yes

Utilizo esto para configurar el acceso chroot SFTP solo para clientes.


11
2018-03-05 01:13





Configure ssh de la siguiente manera:

nano /etc/ssh/sshd_config

AllowUsers username1 username2 username3

Reiniciar SSH

Luego, proporcione las claves para 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 personal / privada:

#ssh-keygen -t rsa

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 Intro).

La clave privada se guardó en .ssh / id_rsa. Este archivo es de solo lectura y solo para ti. 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 luego se copia en el archivo .ssh / authorized_keys del sistema que desea SSH sin que se le solicite una contraseña.

#scp id_rsa.pub remote system:~/.ssh/authorized_keys

Finalmente, bloquee la cuenta (la autenticación de clave todavía será posible).

# passwd -l username1

2
2018-02-04 21:21



Eso no es lo que estoy buscando. digamos que quiero que el usuario inicie sesión usando solo claves y otros usuarios pueden registrarse con clave o contraseña - alexus
entonces no bloquee la cuenta con passwd -l username1 - Patrick R