¿Qué usuarios pueden iniciar sesión a través de SSH de forma predeterminada?

18
  1. Cuando configuré mi Debian 6, me preguntaba, ¿qué usuarios, aparte de root, cuya contraseña conozco pueden iniciar sesión en mi sistema a través de SSH?

  2. Cuando instalo Apache 2, se crea un usuario llamado www-data. ¿Este usuario tiene derecho a iniciar sesión en mi sistema a través de SSH? Pero si hubiera alguna contraseña predeterminada para www-data que todos pudieran iniciar sesión, me parece poco probable.

  3. ¿Dónde tengo una lista de los usuarios que pueden iniciar sesión en mi sistema a través de SSH? No puedo encontrar nada en los archivos de configuración ssh.

JohnnyFromBF
fuente

Respuestas:

20

Paradeepchhetri no es exactamente correcto.

El no modificado de Debian sshd_configtiene lo siguiente:

PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes

Por lo tanto, el inicio de sesión a través de ssh solo funcionaría para los usuarios que tienen un campo de contraseña poblado /etc/shadowo una clave ssh ~/.ssh/authorized_keys. Tenga en cuenta que el valor predeterminado para PubkeyAuthenticationes yesy para PermitEmptyPasswordses no, por lo que incluso si los elimina, el comportamiento será el mismo.

En el ejemplo de la pregunta, www-datapor defecto no se permitirá iniciar sesión ya que el instalador de Debian no asigna una contraseña ni crea una clave para www-data.

pam_access, AllowUsersY AllowGroupsen el sshd_configse puede utilizar para un control más preciso si lo que se necesita. En Debian se recomienda encarecidamente UsePAM.

bahamat
fuente
10

Por defecto, el inicio de sesión está permitido para todos los usuarios en Debian.

Puede cambiarlo permitiendo que ciertos usuarios puedan iniciar sesión editando el /etc/ssh/sshd_configarchivo.

Como se menciona en la página de manual de sshd_config.

AllowUsers

A esta palabra clave puede seguirle una lista de patrones de nombre de usuario, separados por
espacios. Si se especifica, el inicio de sesión solo se permite para los nombres de usuario que coinciden con uno de los patrones. Solo los nombres de usuario son válidos; no se
reconoce una identificación de usuario numérica . Por defecto, el inicio de sesión está permitido para todos los usuarios. Si el patrón toma la forma y USER@HOSTluego se verifica por separado, restringe los inicios de sesión a usuarios particulares de hosts particulares. El permitir / denegar directivas son procesadas en el siguiente orden: , , , y finalmente .USERHOSTDenyUsersAllowUsersDenyGroupAllowGroups

Pradeepchhetri
fuente
Agregué "en Debian" en caso de que alguien aparezca y lea el título y la respuesta de la pregunta sin leer la pregunta en sí. La respuesta general al título de la pregunta es "depende del contenido del sshd_configarchivo enviado ". Algunos sistemas operativos se envían con inicio de sesión raíz sobre SSH no permitido, por ejemplo.
Warren Young
Gracias, pero obviamente, de forma predeterminada, solo el usuario root puede iniciar sesión, ya que es el único con una contraseña en / etc / shadow.
JohnnyFromBF
7

Por defecto, SSH serverni siquiera está instalado. Tendría que instalar el openssh-serverpaquete antes de que alguien pueda ingresar SSH.

Después de eso, cualquier usuario tiene que pasar dos verificaciones:

  • Autenticación SSH
  • Cheques de cuenta PAM

La autenticación SSH significa que el usuario debe tener una contraseña válida /etc/shadowo que tiene una clave pública SSH válida con los permisos correctos en el usuario objetivo ~/.ssh/authorized_keys.

Las contraseñas válidas se describen más adelante en la crypt(3)página del manual, pero básicamente si el segundo campo del usuario /etc/shadowes algo que comienza $NUMBER$, probablemente sea válido, y si es *o !, no es válido.

Las comprobaciones de cuentas PAM básicamente significan que la cuenta no ha caducado. Puedes verificar eso usando chage -l USERNAME.

Entonces para responder a sus preguntas, que yo sepa:

  1. Solo el usuario root y la cuenta que cree durante el asistente de instalación pueden iniciar sesión en un nuevo sistema
  2. No, porque www-datatiene una contraseña hash de *y no hay ningún ~www-data/.ssh/authorized_keysarchivo
  3. No hay una lista única, porque hay múltiples requisitos, pero para tener una idea, podría intentar ejecutar grep -v '^[^:]*:[!*]:' /etc/shadow
Mikel
fuente
1
Tenga cuidado, la contraseña vacía es una contraseña válida, pero como señaló Bahamat , la configuración SSH predeterminada (y la configuración predeterminada de Debian) no permiten el inicio de sesión SSH para cuentas de contraseña vacía.
Totor