He configurado mi servidor OpenSSH en un sistema Windows XP. Todo funciona bien ... aunque depende de la forma en que se conecta a la máquina.

Detalles: - en el lado de Windows, en un dominio MYDOM, tengo un usuario jdoe. MYDOM \ jdoe es un usuario estándar (no miembro de los Administradores locales), miembro del grupo 'Usuarios de escritorio remoto'. - La cuenta jdoe se declara correctamente en / etc / passwd en el servidor OpenSSH que se ejecuta en esta máquina. - en una máquina Linux, jdoe ha generado su paquete de claves RSA. Y agregó esta clave a ~ / .ssh / Authorized_keys en la máquina Windows. He verificado accessright en el directorio .ssh y los archivos están configurados correctamente.

Entonces, ahora, jdoe puede abrir con éxito una sesión ssh desde el cliente Linux al servidor Windows, sin que se le solicite su contraseña. No hay mensaje de error. Perfecto.

Si elimino las claves RSA en ~ / .ssh en el cliente Linux, entonces a jdoe se le solicita su contraseña. Y el acceso se otorga tan pronto como la contraseña se proporciona correctamente.

Pero hay una gran diferencia entre estos dos métodos de acceso, que no puedo explicar. Y lo cual es una fuente de problemas ... ¡Parece que no es exactamente el mismo usuario que ha iniciado sesión!

Yo explico.

Cuando jdoe se registra con el método de solicitud de contraseña, puedo ver los siguientes valores para env. var. : USERDOMAIN = MYDOM USERNAME = jdoe LOGONSERVER = \ my_ADC_server y el comando 'id' devuelve una cadena que contiene (entre otras cosas): 555 (Usuarios de escritorio remoto)

Cuando jdoe se registra con un método sin contraseña, los valores son diferentes: USERDOMAIN = NT AUTHORITY USERNAME = SYSTEM LOGONSERVER no está disponible y el contenido 'id' es exactamente el mismo que anteriormente SIN la entrada 555 (Usuarios de escritorio remoto), por supuesto.

Estoy confundido. Algúna idea de cómo arreglar esto ? ¿Cómo hacer que ssh sin contraseña se ejecute correctamente?

Saludos.

Ra0
fuente