¿Qué significa "sin contraseña" en el archivo sshd_config?

105

Acabo de instalar Ubuntu 14.04 en mi servidor y estaba configurando todos mis archivos de configuración cuando me encontré con esto en mi archivo sshd_config :

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

Esto me puso muy preocupado. Pensé que era posible que alguien pudiera iniciar sesión en mi servidor como root sin una contraseña.

Intenté conectarme a mi servidor como root a través de:

johns-mbp:~ john$ ssh [email protected]
The authenticity of host '192.168.1.48 (192.168.1.48)' can't be established.
RSA key fingerprint is 40:7e:28:f1:a8:36:28:da:eb:6f:d2:d0:3f:4b:4b:fe.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.48' (RSA) to the list of known hosts.
[email protected]'s password:  

Ingresé una contraseña en blanco y no me dejó entrar, lo cual fue un alivio. Entonces mi pregunta es: ¿qué significa sin contraseña y por qué es esto un defecto en Ubuntu 14.04?

    
pregunta John 18.04.2014 - 03:12

4 respuestas

126

De la página de manual :

  

PermitRootLogin

     

Especifica si root puede iniciar sesión utilizando ssh (1). El argumento   debe ser "yes", "without-password", "forced-commands-only", o   "no". El valor predeterminado es "sí".

     

Si esta opción se establece en "sin contraseña", la contraseña   la autenticación está deshabilitada para root.

     

Si esta opción está configurada en "forzado-solo-comandos", inicio de sesión raíz con   se permitirá la autenticación de clave pública, pero solo si el   Se ha especificado la opción command (que puede ser útil para tomar   copias de seguridad remotas incluso si normalmente no se permite el inicio de sesión raíz). Todas   otros métodos de autenticación están deshabilitados para root.

     

Si esta opción está configurada en "no", no se permite que root inicie sesión.

Por lo tanto, without-password solo permite el inicio de sesión raíz con autenticación de clave pública. Esto se usa a menudo con scripts de shell y tareas automatizadas.

    
respondido por el Florian Diesch 18.04.2014 - 03:26
15

En realidad, esta configuración no hace mucho si está utilizando la autenticación PAM. En la parte inferior del archivo de configuración sshd_config encontrará:

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.

La configuración predeterminada en Ubuntu es usar autenticación PAM:

UsePAM yes
    
respondido por el Atari911 15.11.2014 - 18:34
3

Tenga en cuenta que hay razones legítimas para iniciar sesión a través de la raíz (pero utilizando claves criptográficas y nunca una contraseña). Un ejemplo típico es sincronizar de forma remota dos servidores (para que uno de ellos se use como conmutación por error). Debido a que la estructura debe ser idéntica, a menudo se requiere una contraseña de root.

Aquí hay un ejemplo que usa unison para la sincronización: enlace

    
respondido por el Gwyneth Llewelyn 17.01.2015 - 21:26
0

En las versiones más recientes de sshd "sin contraseña" se ha cambiado a "prohibir-contraseña".

Ambas versiones funcionan, probablemente sea mejor usar "prohibit-password" si puedes: se explica mejor.

    
respondido por el teknopaul 23.03.2018 - 00:12

Lea otras preguntas en las etiquetas