SSH funciona para root pero no para otros usuarios?

1

Soy nuevo en Lin / VPS y recientemente he alquilado un VPS con Ubuntu 16. Me conecto usando SSH con Putty, desde Win10.

Puedo iniciar sesión con SSH correctamente solo cuando soy root & & Mi clave está cargada (Pageant).

PERO:

Si no soy root y / o no se carga ninguna clave , todavía puedo iniciar sesión con cualquier nombre de usuario y contraseña (¡y eso incluye root!).

Seguramente entienden la brecha de seguridad aquí así como la locura de esta situación. No puedo explicarlo, como al iniciar sesión como root cuando se carga mi clave privada --- Puedo iniciar sesión SSH bien, sin ingresar una contraseña.

¿Puede explicar cómo es posible?

    
pregunta JohnDoea 22.10.2016 - 04:28
fuente

2 respuestas

2
  

¿Puede explicar cómo es posible?

Hay dos configuraciones válidas que permitirán que root inicie sesión con una contraseña:

  1. PermitRootLogin yes
  2. PermitRootLogin without-password y ChallengeResponseAuthentication yes Y ciertas configuraciones PAM

ISTR, el valor predeterminado de Ubuntu es PermitRootLogin no , pero creo que Linode, al ser un servicio que proporciona servidores remotos que solo tienen una cuenta root ab initio, ha modificado el valor predeterminado en su compilación para que sus usuarios puedan iniciar sesión directamente sin usar lish u otras opciones de la consola remota (lo que puede ser un poco complicado usar). En realidad, ejecuto un Ubuntu 16 Linode, pero mi sshd_config se modificó justo después de la instalación, y esa es una de las configuraciones que siempre modifiqué, así que no puedo decirle cómo se envió :)

Para citar la página del manual sshd_config:

PermitRootLogin
    Specifies whether root can log in using ssh(1).  The argument
    must be ''yes'', ''prohibit-password'', ''without-password'',
    ''forced-commands-only'', or ''no''.  The default is ''no''.
    Note that if ChallengeResponseAuthentication is ''yes'', the root
    user may be allowed in with its password even if PermitRootLogin
    is set to ''without-password''.

    If this option is set to ''prohibit-password'' or
    ''without-password'', password and keyboard-interactive
    authentication are disabled for root.

Para citar el archivo sshd_config en mi sistema Ubuntu 16:

# 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'.
UsePAM yes

Es posible que desee leer Cómo ajustar la configuración de su Daemon SSH en un VPS de Linux que, si bien no aborda este problema en particular, es una buena encuesta legible de lo que puede hacer con su sshd_config.

    
respondido por el gowenfawr 22.10.2016 - 04:46
fuente
0

Ejecute el siguiente comando de cliente openssh en su servidor ssh con las opciones que necesite (con un número de puerto alto) (incluso puede hacer esto localmente a la IP pública si es necesario):

ssh -o PreferredAuthentications = none

Parte de la salida le mostrará las opciones de autenticación permitidas para el servidor SSH y puede incluir un texto similar al siguiente: (publicación, contraseña)

Parece que ha configurado un inicio de sesión sin contraseña a través de claves compartidas para la cuenta raíz pero no para las otras cuentas. Se le permite tener las opciones de autenticación de contraseña y de publicación disponibles al mismo tiempo, aunque eso no sea lo que quería hacer. Si no es lo que desea, solo tendrá que reconfigurar su demonio ssh según sus necesidades.

    
respondido por el Trey Blalock 22.10.2016 - 04:54
fuente

Lea otras preguntas en las etiquetas