Redes - Instalación de un servidor ssh en Windows

Junio 2017

Este artículo le explicará como instalar y configurar un servidor ssh en Windows.



Introducción


Elección del programa


Se ha elegido el servidor Openssh de Cygwin, porque el de http://sshwindows.sourceforge.net
parece que no es actualizado frecuentemente.
Cygwin se preocupa en mantener sus paquetes actualizados, lo que es importante desde el punto de vista de la seguridad.
Además el instalador Cygwin permite actualizar OpenSSH, openssl y todas las librerías sin tener que reinstalar todo.

Sistema operativo requerido



Windows 2000, XP o 2003
(Esta instalación no es posible en Windows 95/98/ME.)
Funciona incluso en XP Home (edición Familiar).

Herramientas utilizadas


OpenSSH (por el shell y el instalador Cygwin)

Antes de comenzar: Si no se siente listo para efectuar las manipulaciones que siguen, puede utilizar el servidor ssh Cygwin pre-configurado CopSSH: http://www.itefix.no/...
Sin embargo, debe saber que este paquete puede interferir con Cygwin si éste ya está instalado, y además maneja únicamente usuarios locales.

I- Instalación de Cygwin


Dscargue el instalador Cygwin (setup.exe) desde http://www.cygwin.com/ y ejecútelo
  • Ventana "Choose installation type": Seleccione "Install from internet"
  • Ventana "Choose Installation Directory": Deje todos los valores por defecto.
  • Ventana "Select Local Package directory": Deje los valores por defecto. (Los archivos de instalación cygwin serán colocados en un sub-directorio de setup.exe)
  • Ventana "Selection connection type": Ingrese parámetros de proxy en caso que utilice uno.
  • Ventana "Choose Download Site(s)": Elija un sitio de descarga cerca de usted.

Por ejemplo, en Bélgica, elija los servidores en .be. En Francia, elija los servidores en .fr.
En el peor de los casos, elija servidores en países vecinos (ejemplo: .de (Alemania) en el caso de Francia.)
  • Ventana "Select packages", pulse el botón "View" para ver la lista de paquetes.
  • Descienda en la lista para encontrar "openssh: The OpenSSH server and client programs" y haga clic en la palabra "Skip" para seleccionar este paquete. La palabra "Skip" debe ahora ser remplazada por la versión de openssh (por ejemplo "4.2p1-1"). Otros paquetes serán seleccionados automáticamente. Haga clic en "Next": La descarga comienza. (Va a descargar alrededor de 17 Mo de archivos.)
  • Ventana "Create icons": haga clic en "Finish".


La instalación de Cygwin ha terminado.

II– Configuración del servidor ssh


Modificación del entorno

  • Haga clic derecho en Mi PC > "Propiedades" > "Opciones avanzadas" > "Variables de entorno" > "Variables de sistema".
  • Haga clic en "Nueva", e ingrese la variable: CYGWIN; valor: ntsec tty
  • Seleccione PATH en la lista, haga clic en "Editar" y añada: C:\Cygwin\bin al final de la ruta.

II.1 Creación de grupos y usuarios

  • Abra la ventana Cygwin.
  • Cree los usuarios y grupos:
    • Users : mkpasswd -l > /etc/passwd
    • Groupes: mkgroup -l > /etc/group
    • Esto tomará los usuarios y grupos de Windows y los creará en los ficheros correspondientes Cygwin.
    • -l es una L MINISCULA, y NO el número 1.
    • Para utilizar los groupes/users del dominio (en lugar del local), reemplace -l por -d
    • Para añadir un usuario especifico, utilice -u. Ejemplo: mkpasswd -u johnny -l > /etc/passwd
    • CONTROLE BIEN EL CONTENIDO DE LOS ARCHIVOS PASSWD Y GROUP. i estos archivos están vacios, el servidor ssh no funcionará.
    • un usuario Y SU GRUPO no están declarados en estos 2 archivos, éste no podrá conectarse.
    • SI SALE UN MENSAJE DE ERROR en mkpasswd o mkgroup, ES INUTIL QUE PROSIGA CON LA INSTALACION: DEBERA PRIMERO RESOLVER ESTE PROBLEMA ANTES DE CONTINUAR.
  • Ejecute: ssh-host-config -y. Es posible que le pida una contraseña para la creación de un usuario "sshd_server" (por ejemplo en Windows 2003). El user es el que será utilizado para hacer funcionar el servicio sshd.
  • Cuando le solicite "CYGWIN=", ingrese: ntsec tty. Esto creará el servicio sshd en Windows. Aparecerá con el nombre "CYGWIN sshd" en la lista de servicios. En principio, está configurado para arrancar automáticamente, pero por esta primera vez aún no ha arrancado.


III- Lanzamiento del servicio sshd y prueba


Iniciar el servicio


Utilice el comando: net start sshd o: cygrunsrv -S sshd
(Note que el servicio arrancará automáticamente la próxima vez que reinicie Windows: Ya no tendrá que ingresar este comando.)
Si el servicio no arranca, revise el contenido del archivo C:\cygwin\var\log\sshd.log
Según la instalación, es posible que tenga que hacer:
chown system /etc/ssh*
chown system /var/empty
Para que el servicio arranque correctamente.

Probar el servicio


Utilice el cliente ssh suministrado con cygwin: ssh milogin@localhost
o bien Putty (cliente ssh gratuito): http://www.chiark.greenend.org.uk/~sgtatham/putty/
En la primera conexión, el cliente ssh probablemente le pedirá confirmar la clave.
Enseguida, después de haber ingresado la contraseña, deberá obtener un shell.
Puede ver la conexión ingresando: echo $SSH_CONNECTION
(Port 22 = su servidor ssh)

OBSERVACIONES


Administración de usuarios


Cualquier usuario declarado en /etc/passwd podrá alojarse en el servidor ssh. No obstante, puede limitar la lista de usuarios que puedan conectarse al servido ssh modificando el archivo C:\cygwin\etc\passwd

Nota: deje los users sshd y sshd_server. El servidor ssh los necesita.

Acceso a los discos Windows


No olvide que en el shell Cygwin, puede acceder a sus discos Windows, por ejemplo: /cygdrive/c para acceder a C: (y así sucesivamente para los otros lectores.)

Usos


Además del shell, puede utilizar su servidor ssh para la transferencia en forma segura de archivos (scp/sftp).
En Windows, encontramos clientes scp/sftp gratuitos:

El servidor SSH puede igualmente encapsular cualquier protocolo basado en TCP. (Para ser preciso, es equivalente a un port-forwarding distante). Ejemplo, para establecer un túnel:

Su equipo -----> cliente ssh local (port 777) -----> servidor ssh (port 22) ----> pop.gmail.com (port 110).

Ingresaríamos el comando siguiente:
ssh -L 777: pop.gmail.com:110 miLogin@miServidorSsh

Luego basta con conectar su software de correo electrónico a localhost: 777 en lugar de pop.gmail.com:110: ssh encapsulará todo hacia pop.gmail.com, port 110.
Entonces podrá leer su correo en localhost: 777.
Esto puede ser útil para atravesar redes que no son seguras (por ejemplo todo lo que hay entre su equipo y el servidor ssh).

Seguridad


Para completar esta instalación, será necesario ajustar los derechos de acceso a los ficheros del usuario utilizado para lanzar el servicio sshd a fin de mejorar la seguridad.

Recuerde lanzar de vez en cuando el instalador Cygwin para actualizar openssh y openssl (Suspenda el servicio antes de empezar con la actualización). Esto le permitirá beneficiarse de las actualizaciones de seguridad de openssh et openssl.

Enlaces


La redacción de este documento ha sido hecha con la colaboración de http://www.cs.princeton.edu/~sudhakar/linux/cache/cygwin-sshd.html (en inglés).


NOTA:
Es inútil que me escriba por email para solicitarme ayuda con respecto a esta instalación. Yo no responderé. Este documento está suficientemente detallado.
Si no funciona, es muy probable que ha cometido un error. 99% de los problemas que me han enviado eran debidos a una lectura demasiado rápida de este artículo.
Lea bien los mensajes que aparecen en la pantalla.
No continúe la instalación inútilmente si un mensaje de error aparece: primeramente se debe resolver el problema antes de continuar.

Consulta también

Publicado por Carlos-vialfa. Última actualización: 4 de agosto de 2008 a las 23:52 por Carlos-vialfa.
El documento «Redes - Instalación de un servidor ssh en Windows» se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo libremente. No olvides citar a CCM (es.ccm.net) como tu fuente de información.