Ninguna de las versiones de Windows, ya sea Windows XP, Windows 7 u 8 o las mas modernas versiones de servidor como Windows 2008 o Windows 2012, proporciona un servidor SSH mediante el que acceder de forma estándar desde otras máquinas con distinto sistema operativo para ejecutar comandos de la consola, copiar ficheros, redireccionar puertos o automatizar el acceso mediante el empleo de claves pública/privada. La alternativa de Microsoft para esto es WinRM / Powershell, pero muchas son las ocasiones que encontraremos en las que necesitaremos un acceso estándar y compatible con otros sistemas, y qué mejor para ello que emplear el extendido y archiconocido protocolo SSH para entrar a nuestras máquinas Windows de forma segura.
Error: Your Requested widget " ai_widget-6" is not in the widget list.
- [do_widget_area above-nav-left]
- [do_widget_area above-nav-right]
- [do_widget_area footer-1]
- [do_widget id="wpp-4"]
- [do_widget_area footer-2]
- [do_widget id="recent-posts-4"]
- [do_widget_area footer-3]
- [do_widget id="recent-comments-3"]
- [do_widget_area footer-4]
- [do_widget id="archives-4"]
- [do_widget_area logo-bar]
- [do_widget id="oxywidgetwpml-3"]
- [do_widget_area menu-bar]
- [do_widget id="search-3"]
- [do_widget_area sidebar]
- [do_widget id="search-4"]
- [do_widget id="ai_widget-2"]
- [do_widget id="categories-5"]
- [do_widget id="ai_widget-3"]
- [do_widget id="ai_widget-4"]
- [do_widget id="ai_widget-5"]
- [do_widget_area sub-footer-1]
- [do_widget id="text-4"]
- [do_widget_area sub-footer-2]
- [do_widget_area sub-footer-3]
- [do_widget_area sub-footer-4]
- [do_widget_area upper-footer-1]
- [do_widget id="search-2"]
- [do_widget id="recent-posts-2"]
- [do_widget id="recent-comments-2"]
- [do_widget id="archives-2"]
- [do_widget id="categories-2"]
- [do_widget id="meta-2"]
- [do_widget_area upper-footer-2]
- [do_widget_area upper-footer-3]
- [do_widget_area upper-footer-4]
- [do_widget_area widgets_for_shortcodes]
- [do_widget id="search-5"]
- [do_widget id="ai_widget-6"]
- [do_widget_area wp_inactive_widgets]
- [do_widget id="wpp-2"]
- [do_widget id="text-1"]
- [do_widget id="recent-posts-3"]
- [do_widget id="categories-3"]
- [do_widget id="archives-3"]
- [do_widget id="icl_lang_sel_widget-3"]
FreeSSHd, un servidor SSH gratuito para Windows
Aunque existen otras alternativas de software SSH para Windows, en su mayoría comerciales aunque también gratuitas, freeSSHd es un servidor SSH muy sencillo de configurar y que da muy buenos resultados. Ofrece cifrado fuerte y autenticación mediante usuario/contraseña o mediante el intercambio de pares de claves públicas y privadas, además de permitir el intercambio seguro de ficheros mediante los protocolos FTP/FTPS/SFTP y la tunelización de conexiones mediante redirección de puertos. Es decir, básicamente todo lo que podemos encontrar en OpenSSH.
Instalación y configuración de freeSSHd
Una vez descargada la aplicación e instalada de la forma habitual, al arrancarla encontraremos un panel de control como el de la siguiente captura. El primer paso que tenemos que dar para configurarla es habilitar el servidor SSH para que se ejecute como un servicio Windows que corra en segundo plano (SSH server is not running. Click here to start it.).
Abrir el puerto 22 en el firewall de Windows
Para poder llegar al nuevo servidor SSH desde el exterior necesitaremos que el puerto 22 (o aquel que elijamos en la configuración) esté abierto y no haya ninguna restricción para establecer conexiones con él. Por defecto el firewall de Windows bloquea este tipo de conexiones, por lo que deberemos autorizarlas explícitamente:
Transmisión segura de ficheros mediante SFTP
freeSSHd actúa también como un servidor FTP seguro, permitiendo el intercambio seguro de ficheros mediante los protocolos FTP/FTPS/SFTP. Como estos protocolos se apoyan en la conexión SSH establecida por debajo, no hay que hacer nada especial para configurarlos. Tan sólo indicando cuál queremos que sea el directorio raíz para el intercambio de ficheros y utilizando un cliente adecuado contra el puerto 22 que acabamos de abrir podremos realizar transferencias seguras de archivos.
Acceso mediante clave pública
Una de las enormes ventajas que ofrece SSH es que podemos automatizar el acceso a nuestro servidor sin necesidad de estar introduciendo nuestro usuario y contraseña cada vez. Simplemente generando un nuevo par de claves privada y pública para nuestro usuario, o bien asignándole unas ya existentes podremos entrar a la consola de comandos o copiar ficheros a nuestro servidor con un solo clic.
Para ello indicaremos a freeSSHd cuál es el directorio donde se almacenarán las claves públicas de los distintos usuarios, que por defecto será el de instalación, y allí copiaremos un fichero por cada usuario cuyo nombre será simplemente el nombre del usuario en cuestión sin ninguna extensión. Cada uno de esos ficheros contendrá únicamente la clave pública de ese usuario. Las claves privadas no deben almacenarse bajo ningún concepto en el servidor, sino sólo en el propio cliente SSH que utilicemos para conectarnos.
Redirección de puertos (port fordwarding)
Otra posibilidad que nos ofrece freeSSHd es poder tunelizar conexiones a otros puertos/servicios que nada tienen que ver utilizando el acceso seguro SSH. Es decir, podríamos establecer una conexión al servidor de terminales de Windows (Terminal Server) mediante protocolo RDP a través del puerto 3389 (conexión no segura) aprovechando nuestro acceso SSH sin necesidad de abrir dicho puerto 3389 en nuestro firewall. Además, de este modo aunque el tráfico RDP no se encuentre cifrado, viajará de forma segura a través de Internet al encontrarse encapsulado en paquetes SSH que sí están fuertemente encriptados. De esta forma ganaremos mucho en seguridad y en simplicidad, pues podremos establecer todo tipo de conexiones a nuestro servidor tan solo abriendo el puerto 22 en nuestro firewall, pudiendo concentrar todos nuestros esfuerzos únicamente en la protección y monitorización de SSH sin tener que preocuparnos de lo seguros o no que sean los distintos protocolos que manejen nuestras aplicaciones.
4 comentarios
Unirte a la conversaciónJorge Martinez - 13/08/2015
Que tal, para solicitarte por favor asesoria acerca del servicio SFTP,
Habilite para windows el servicio SFTP con la IP interna y dentro de la empresa en donde laboro
no hay problema,
pero cuando desde otro lugar se quieren conectar , no se los permite.
Cuales son las consideraciones para que a traves de este servicio puedan entrar a mi servidor?
saludos y gracias por tu atencion.
Daniel - 05/05/2016
Todo apunta a que se trata de un problema con un firewall intermedio o incluso con el propio firewall de Windows. Debes asegurarte de que el router/firewall de acceso a Internet de tu empresa redirige correctamente hacia tu servidor el tráfico con destino al puerto 22 de la IP pública de tu empresa. Si esto se hace correctamente puede ser que el firewall de Windows esté bloqueando el tráfico, ya que éste tendrá como IP de origen una dirección externa a tu red.
jon - 04/05/2016
Buenas,
He aplicado todos los pasos según has indicado, eligiendo la conexión de mi usuario «admin» con contraseña «admin» para el SSH.
Intento loguearme desde mi equipo Centos mediante el comando «ssh admin@192.168.100.202 2001″ siendo 2001 el puerto que he elegido para la conexión ssh y al introducir la contraseña me sale el error de que la estoy introduciendo mal…
ES raro…la comunicación la hace bien, no se donde puede estar el error.
Gracias,
saludos
Daniel - 05/05/2016
Si has seguido todos mis pasos habrás deshabilitado la autenticación mediante contraseña (mira la 4ª captura de pantalla empezando por el final) para sólo permitir el acceso mediante clave pública. Si quieres introducir una contraseña debes habilitar la opción «Password authentication».