Restrinja el acceso SSH basado en contraseña por usuario pero permita la autenticación de clave


22

¿Es posible deshabilitar el acceso de CONTRASEÑA SSH al usuario pero permitir la autenticación de Clave por usuario? Quiero decir, tengo un usuario A al que no quiero darle acceso basado en contraseña, PERO no quiero que solo use la autenticación de clave para acceder a los servidores. Gracias


Respuestas:


49

Puede agregar secciones "Coincidencia" para que coincidan con usuarios o grupos particulares en la parte inferior de sshd_config, como:

Match user stew
PasswordAuthentication no

o

Match group dumbusers
PasswordAuthentication no

99
Evitaría la sangría, ya que sugiere que solo las líneas sangradas se ven afectadas Matchcuando, en realidad, toda la configuración se ve afectada hasta la próxima Matchdirectiva. Podría ser confuso para alguien que no esté familiarizado con la sintaxis.
Michael Mior

2
@MichaelMior ¿hay alguna forma de "EndMatch"?
Nick T

44
@NickT Matchfunciona hasta la siguiente Matcho Hostpalabra clave. Podrías usarlo Match user *.
Michael Mior

@MichaelMior ¿Significa esto que si lo usa Match user ZaQwEdCxS, podría representar un conjunto de líneas de configuración que nadie puede utilizar, temporal o permanentemente?
Tripp Kinetics

Significaría que todas las líneas de configuración posteriores solo se aplicarían a los usuarios nombrados ZaQwEdCxS. Sin embargo, si tiene una pregunta diferente, debe hacer una nueva pregunta.
Michael Mior

4

Simplemente bloquee las contraseñas de los usuarios que no desea iniciar sesión con contraseñas:

usermod -L <user>

Luego, coloque una clave pública válida en su .ssh/authorized_keysarchivo y solo podrán iniciar sesión con la clave privada correspondiente, pero no con una contraseña.

Nota: Esto romperá sudo a menos que el usuario tenga NOPASSWD: en su entrada de visudo


8
Eso también romperá sudo. Quizás no sea un problema en este caso, pero vale la pena mencionarlo.
EEAA

Si eso es verdad. Debería haberlo mencionado.
Oliver

1
Algunas configuraciones de OpenSSH (por ejemplo, creo que Ubuntu 14.04 en la configuración predeterminada) no permiten el acceso de usuarios bloqueados, ni siquiera a través de
claves

@NilsToedtmann, ¿puede citar una fuente de verificación? También sería muy importante tener en cuenta en la respuesta, de ser así.
Metagrapher

-3

deberías investigar

/etc/ssh/sshd_config

Creo que lo que estás buscando es

PasswordAuthentication yes

cámbielo a no y no olvide reiniciar sshd


2
Soy consciente de esto. Sin embargo, esta es una configuración GLOBAL. Quiero una opción más granular. Por eso dije "por usuario". Quiero esto solo para algunos usuarios (utilizado para la comunicación interna del clúster entre los servidores del clúster). - no para todos los usuarios
giro

oh cierto, lo siento, no lo leí correctamente, entonces lo que @stew recomendó es un camino a seguir
alexus
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.