¿Para qué necesitamos un servidor ssh? Por muchas razones. Una es que nos cualquier conexión que hagamos a nuestro ordenador/servidor mediante el protocolo ssh será más segura y, por tanto, mucho menos propensa a que ningún ente malicioso pueda hacer nada con la información que transmitimos por la red.
¿Qué podemos hacer mediante ese protocolo? Que sea de nuestro interés, principalmente dos cosas:
- Conectarnos a nuestra máquina Windows mediante una línea de comandos, como si fuera una máquina Linux y permitiéndonos hacer muchas cosas (trabajar con los archivos y directorios en remoto, reiniciar la máquina, lo que se nos ocurra). Para eso sólo necesitaremos un cliente de línea de comandos que admita ssh, como por ejemplo Putty si nos conectamos desde una máquina Windows. Desde otros sistemas operativos tendremos directamente el comando ssh (secure shell).
- Hacer transferencia segura de archivos (también llamada SFtp por secure-ftp, file transfer protocol). Sólo necesitaremos un cliente que permita usar el protocolo ssh, aunque la mayor parte de clientes de ftp modernos ya lo incluyen. Desde Windows, por ejemplo, podemos utilizar WinScp, muy pequeño y se puede usar sin ninguna instalación, igual que Putty, por lo que podremos descargarlo desde cualquier ordenador en el que nos encontremos y acceder al contenido de nuestro equipo remoto. Desde otros sistemas disponemos directamente del comando scp (secure copy).
¿Cómo hacemos esto en una máquina Windows? La solución más fácil es mediante Cygwin. Aquí os dejé un manual sobre cómo instalarlo en vuestra máquina Windows. Debemos seguir ese manual e instalar algunos nuevos paquetes con la aplicación que necesitamos (si ya tenemos instalado Cygwin, sólo es necesario volver a usar el ejecutable de instalación y nos permitirá seleccionar los nuevos paquetes sin eliminar los que ya estén instalados).

Seleccionando paquetes
Cuando estemos en la pantalla de selección de paquetes, debemos seleccionar:
- Net, openssh, que incluye tanto el servidor como el cliente ssh (este paquete es obligatorio).
- Admin, shutdown nos será útil si queremos poder apagar o reiniciar el equipo en remoto (opcional).
Hay que tener en cuenta que, dado que vamos a instalar un nuevo servicio del sistema operativo, si nuestro usuario Windows no tiene los suficientes permisos, no vamos a poder hacerlo. Debemos pertenecer al grupo Administradores para poder realizar estas tareas, si no lo sois tendréis que pedírselo a vuestro administrador.
Tras la instalación es posible que os pida reiniciar el equipo (mientras realizaba esta instalación de prueba a mí no me lo ha pedido).
Abrimos una nueva ventana de línea de comandos de Cygwin, haciendo doble click sobre el nuevo icono que se ha creado en nuestro escritorio, y escribimos ssh-host-config, para configurar nuestro nuevo servicio.
Responderemos yes a las siguientes preguntas:
- Should privilege separation be used?
- new local account ‘sshd’?
- Do you want to install sshd as a service?
Y pulsamos enter para admitir la opción por defecto en:
- Enter the value of CYGWIN for the daemon: [ntsec]

Configurando sshd
Es posible que, durante este proceso de configuración, exista algún problema con los permisos de acceso a algunos archivos y carpetas: si las aplicaciones no tienen acceso a los archivos de grupos y usuarios, nos pedirá que realicemos chmod +r /etc/passwd y chmod +r /etc/groups, para que las aplicaciones puedan leer los datos de los usuarios (y validar el login).
Si nos informa de un error con los permisos de la carpeta /var, esto se soluciona con un chmod o+x /var.
En cualquiera de estos casos, tras realizar esta operación, volvemos a ejecutar
ssh-host-configpara volver a intentarlo.
Tras estos pasos, nuestro servicio sshd (secure shell daemon) ya está configurado, por lo que podemos iniciarlo con el siguiente comando: cygrunsrv -S sshd
En otros tutoriales encontraréis
net start sshd, que realiza lo mismo utilizando una de las pocas instrucciones de línea de comandos que tiene Windows disponibles.
Si hacemos click derecho sobre Mi PC, Propiedades, vamos a Servicios y Aplicaciones, Servicios, podremos ver que nuestro nuevo servidor ya está iniciado y funcionando:

Servicio funcionando
Finalmente, si estáis utilizando el Firewall por defecto de Windows, acordáos de admitir a la nueva aplicación ssh como excepción, para que el firewall no impida las conexiones desde el exterior. Otros cortafuegos probablemente os preguntarán cuando detecten la nueva aplicación, y podréis indicar que es una aplicación “confiable”.
Esto se hace en Menú Inicio, Configuración, Panel de Control. Seleccionamos Firewall de Windows y vamos a la pestaña Excepciones. Pulsamos el botón Agregar puerto e indicamos como nombre ssh y como puerto el 22 (puerto por defecto para transferencias con este protocolo).

Permitiendo ssh en el Firewall de Windows