SO: Windows 7 x64
Cygwin: 1.7.15-1
OpenSSH: 6.0p1-1
Estoy intentando instalar un servidor SSH en Windows 7. El tutorial que estoy siguiendo para hacerlo está aquí:http://www.howtogeek.com/howto/41560/how-to-get-ssh-command-line-access-to-windows-7-using-cygwin/
El problema es que al ejecutar el net start sshd
comando me sale el siguiente resultado:
El servicio CYGWIN sshd se está iniciando. No se pudo iniciar el servicio CYGWIN sshd.El servicio no informó de un error.
Hay más ayuda disponible escribiendo NET HELPMSG 3534.
Aquí está el resultado completo de la configuración:
UsuarioAdministrador@EstaComputadora ~ $ ssh-host-config *** Información: Generando /etc/ssh_host_key *** Información: Generando /etc/ssh_host_rsa_key *** Información: Generando /etc/ssh_host_dsa_key *** Información: Generando /etc/ssh_host_ecdsa_key *** Información: Creación del archivo /etc/ssh_config predeterminado *** Información: Creación del archivo /etc/sshd_config predeterminado *** Información: La separación de privilegios está configurada en sí de forma predeterminada desde OpenSSH 3.3. *** Información: Sin embargo, esto requiere una cuenta sin privilegios llamada 'sshd'. *** Información: Para obtener más información sobre la separación de privilegios, lea /usr/share/doc/openssh/README.privsep. *** Consulta: ¿Debería utilizarse la separación de privilegios? (sí/no) sí *** Información: Tenga en cuenta que para crear un nuevo usuario es necesario que la cuenta actual tenga *** Información: Privilegios de administrador. ¿Debería este script intentar crear un *** Consulta: ¿nueva cuenta local 'sshd'? (sí/no) sí *** Información: Actualización del archivo /etc/sshd_config *** Consulta: ¿Quieres instalar sshd como servicio? *** Consulta: (Di "no" si ya está instalado como servicio) (sí/no) sí *** Consulta: Ingrese el valor de CYGWIN para el demonio: [] *** Información: En Windows Server 2003, Windows Vista y superiores, el *** Información: la cuenta del SISTEMA no puede configurarse para otros usuarios - una capacidad *** Información: requiere sshd. Necesitas tener o crear un privilegio *** Información: cuenta. Este script le ayudará a hacerlo. *** Información: Parece que estás ejecutando Windows XP de 64 bits, Windows 2003 Server, *** Información: o posterior. En estos sistemas, no es posible utilizar LocalSystem *** Información: cuenta para servicios que pueden cambiar la identificación del usuario sin una *** Información: contraseña explícita (como inicios de sesión sin contraseña [por ejemplo, clave pública) *** Información: autenticación] vía sshd). *** Información: Si desea habilitar esa funcionalidad, es necesario crear *** Información: una cuenta nueva con privilegios especiales (a menos que una cuenta similar *** Información: ya existe). Esta cuenta se utiliza luego para ejecutar estos especiales *** Información: servidores. *** Información: Tenga en cuenta que para crear un nuevo usuario es necesario que la cuenta actual *** Información: tiene privilegios de administrador. *** Información: No se pudo encontrar ninguna cuenta privilegiada. *** Información: Este script planea usar 'cyg_server'. *** Información: 'cyg_server' sólo será utilizado por servicios registrados. *** Consulta: ¿Quieres usar un nombre diferente? (sí/no) no *** Consulta: ¿Crear una nueva cuenta de usuario privilegiado 'cyg_server'? (sí/no) sí *** Información: ingrese una contraseña para el nuevo usuario cyg_server. Favor de estar seguro *** Información: que esta contraseña coincida con las reglas de contraseña proporcionadas en su sistema. *** Información: Al no ingresar ninguna contraseña se saldrá de la configuración. *** Consulta: Por favor ingrese la contraseña: *** Consulta: Vuelva a ingresar: *** Información: El usuario 'cyg_server' ha sido creado con la contraseña '[CENSURADO]'. *** Información: Si cambia la contraseña, recuerde también cambiar la *** Información: contraseña de los servicios instalados que utilizan (o utilizarán próximamente) *** Información: la cuenta 'cyg_server'. *** Información: También tenga en cuenta que el usuario 'cyg_server' necesita permisos de lectura. *** Información: en los archivos relevantes de todos los usuarios para los servicios que se ejecutan como 'cyg_server'. *** Información: En particular, para el servidor sshd los archivos .ssh/authorized_keys de todos los usuarios *** Información: los archivos deben tener los permisos adecuados para permitir la clave pública *** Información: autenticación. (Re-)ejecutar ssh-user-config para cada usuario establecerá *** Información: estos permisos correctamente. [Se aplican restricciones similares, por *** Información: instancia, para archivos .rhosts si el servidor rshd está en ejecución, etc.]. *** Información: El servicio sshd se ha instalado en 'cyg_server' *** Información: cuenta. Para iniciar el servicio ahora, llame a `net start sshd' o *** Información: `cygrunsrv -S sshd'. De lo contrario, se iniciará automáticamente. *** Información: después del próximo reinicio. *** Información: Configuración del host finalizada. ¡Divertirse! UsuarioAdministrador@EstaComputadora ~ $ inicio neto sshd El servicio CYGWIN sshd se está iniciando. No se pudo iniciar el servicio CYGWIN sshd. El servicio no informó de un error. Hay más ayuda disponible escribiendo NET HELPMSG 3534.
Tenga en cuenta que en la línea *** Query: Enter the value of CYGWIN for the daemon: []
no he ingresado nada. Los tutoriales a menudo dicen usar ntsec
o ntsec tty
aquí, pero esas opciones se eliminan de la última versión de OpenSSH. Intenté usarlos de todos modos y el resultado es el mismo.
El archivo /var/log/sshd.log
está vacío. Si intento simplemente ejecutar el comando, /usr/sbin/sshd
obtengo el resultado /var/empty must be owned by root and not group or world-writable.
. El directorio /var/empty tiene los siguientes permisos: drwxr-xr-x+ 1 cyg_server root 0 May 29 15:28 empty
. Las búsquedas en Google sobre este error no arrojaron ninguna solución que funcione. Una persona parece haberlo resuelto usando el comando, chown SYSTEM /var/empty
pero eso no solucionó el problema en mi caso.
Respuesta1
Intente deshabilitar la separación de privilegios en/etc/sshd_config
Respuesta2
Bajo Cygwin, /var/empty
debe ser propiedadpor el usuario que ejecutasshd
. (¡A menos que desactives la separación de privilegios!)
Deun correo electrónico útil a la lista de correo de Cygwin en 2012 por Corinna Vinschen
Por lo general, sshd prueba si /var/empty es propiedad del uid 0. En Cygwin, donde generalmente no hay ningún usuario con uid 0,el código ha sido modificado para probar si /var/empty es propiedad del usuario que ejecuta sshd. Entonces, si inicia sshd en la línea de comando, debe cambiar /var/empty a la cuenta de usuario actual. Lo mismo ocurre con los archivos relacionados con ssh en /etc. El mensaje de error es el mensaje de error básico ascendente. No se ha modificado que Cygwin mantenga pequeño el conjunto de parches ascendentes relacionados con Cygwin.
Respuesta3
En mi caso tuve un conflicto con otro servicio. Instalé la versión de prueba de Bitvise para probar el alojamiento de un servidor SSH.
Cuando instalé Cygwin OpenSSH, necesito cerrar el servicio Bitvise para poder iniciar Cygwin sshd.