Como crear una arquitectura cliente-servidor SSH en Windows con Bitvise
En el artículo de hoy veremos no solo cómo instalar un servidor SSH en Windows, sino que también presentaremos un excelente cliente SSH con el que podremos conectarnos al mismo. Ambos son ofrecidos por Bitvise:
- Bitvise SSH Server para Windows (también conocido como WinSSHD) es un completo servidor de shell segura con multitud de opciones y que podremos utilizar de forma gratuita o de pago, según el grado de funcionalidad requerida.
- Bitvise SSH Client para Windows es un cliente de conexión bastante potente, que nos permitirá establecer comunicación mediante SSH, SFTP, RDP y tiene muchas opciones de configuración. Es totalmente gratuito.
¿Qué es el protocolo SSH?
El protocolo SSH o Secure Shell se emplea para administrar de forma remota un servidor o cluster de servidores, tanto si este está en una red local como si está en internet (WAN). Este protocolo se desarrolló para sustituir al anterior e inseguro Telnet.
Si utilizas cualquier versión de Windows o Mac OS es muy sencillo usar SSH, sin embargo en Windows no vienen por defecto tales características (en versiones anteriores a Windows 10) y deberemos descargar un cliente SSH o servidor SSH de terceros.
El protocolo de Shell Segura implica que para poder administrar un equipo remoto el usuario antes debe superar una fase de identificación y autenticación.
Análisis de Bitvise SSH Server
El software de Bitvise nos permite disfrutar de un servidor SSH para Windows, con el que nos podremos comunicar remotamente a través del cliente SSH Bitvise o cualquier otro cliente como putty, por ejemplo.
Se trata de un software bastante potente aunque fácil de usar, compatible con todas las versiones de Windows y Windows Server (incluído 2016) y que nos permite realizar logging de las conexiones al mismo y la creación de cuentas de usuario virtuales para tareas específicas, entre otras cosas.
Tipos de licencia y precio
Puede ser utilizado de forma totalmente gratuita si no es para fines comerciales o en empresa (uso exclusivamente personal) y tiene ciertas limitaciones.
La versión de pago para Bitvise SSH Server cuesta 99,95 $ para cada instalación (un solo pago) y goza de actualizaciones durante un año. Podemos utilizarla sin coste durante 30 días. Escogeremos esto durante la instalación.
Instalación y primeros pasos
Descargaremos el software aquí haciendo clic sobre el primer enlace.
Iniciaremos la instalación, donde escogeremos la ruta deseada y podremos escoger un nombre personalizado para la instancia de nuestro servidor de shell segura.
Tras finalizar la instalación se nos recomendará reiniciar el sistema para habilitar todos los servicios de cifrado y autenticación. Aparecerán dos ventanas: la de centro de control y la de Ajustes sencillos de Bitvise SSH Server:
En los ajustes básicos podremos personalizar el puerto de conexión con el servidor, protocolos de red, comportamiento del firewall de Windows (os recomiendo escoger la opción «subnet Scope» para evitar riesgos innecesarios) así como habilitar el modo uPnP para nuestro enrutador -si queremos acceder desde fuera de la red al servidor- y el trace logging, que es la recogida de datos de conexión en un archivo para su posterior auditoría.
En la segunda pestaña veremos lo referente a cuentas de Windows. Dependiendo de si utilizamos el servidor en un dominio (más información aquí) o mediante cuentas locales de sistema, deberemos configurarlo de una u otra manera.
Es importante configurar esta sección correctamente para tener los permisos apropiados y así poder conectar con el servidor de forma remota sin problemas. Por defecto, el programa está configurado para conceder acceso remoto a cualquier cuenta previamente existente en Windows.
Deberíamos optar por la opción más restrictiva (mínimo privilegio) desactivando esta casilla y añadiendo manualmente la cuenta o cuentas que deban tener dicho permiso. Después de todo, no queremos que cualquier cuenta existente en Windows pueda hacer esto, ¿no?
En la tercera pestaña podremos definir lo que se conoce como «cuentas virtuales» que nos servirán si, por ejemplo, queremos que una cuenta tenga acceso en el contexto del servidor SSH, restringiendo al mismo tiempo el inicio de sesión u opciones adicionales. Es útil para transferencia de archivos por ejemplo.
Cuando hayamos finalizado salvaremos los cambios e iniciaremos el servidor. Podremos ver su estado actual en el Centro de Control de Bitvise:
Gestión de conexiones
Podemos controlar en todo momento la actividad que tiene lugar en el servidor desde el apartado «Activity» del Panel de Control.
Vemos en este caso que un usuario se ha conectado desde la dirección IP:puerto indicados, además de la versión del cliente SSH empleada y el tipo de autenticación / cuenta.
Desde el apartado «Sessions» podemos ver otros detalles: tiempo de conexión, tipo de conexión, tipo de cuenta, etc.
Podemos además forzar la desconexión de un cliente o bloquearlo.
El servidor ya está preparado para escuchar conexiones entrantes desde nuestra red local, así que sigamos con la segunda parte del artículo.
Análisis de Bitvise SSH Client
El cliente SSH de Bitvise soporta todas las versiones de Windows hasta la fecha -versiones de 32 y 64 bits- a partir de Windows XP Sp3. También soporta todas las versiones de Windows Server.
Bitvise SSH Client es gratuito para cualquier uso, tanto privado como uso comercial.
Características
A continuación encontraréis un listado de la mayoría de características (las más importantes) que ofrece este cliente de shell remota:
- Transferencia gráfica vía SFTP (GUI)
- Reenvío de Escritorio remoto con un clic
- Emulación de terminales con protocolos bvterm, xterm y vt100
- Soporta SSO en entornos corporativos a través de SSPI (GSSAPI), Kerberos 5 y NTLM para autenticación de usuarios. Soporta Kerberos 5 para autenticación de host.
- Soporta ECDSA, RSA y DSA para autenticación mediante clave pública.
- Soporta validación de de FIPS 140-2: este mecanismo de seguridad avanzado (certificado por el NIST) estará disponible si lo hemos habilitado en Windows previamente. Si no lo activamos, se soportan además otros algoritmos.
- Cumplimiento de HIPAA garantizado gracias a su nivel de seguridad y encriptación.
- Ofuscación de SSH con palabra clave opcional. Cuando se habilita a nivel servidor y a nivel cliente, este mecanismo hace más complicado para un tercero determinar que el protocolo en uso es SSH (Secure Shell).
- Posibilidad de reenvío de puertos SSH, además de forwarding mediante proxies SOCKS y HTTP CONNECT.
- Puente FTP a SFTP que permite conectar con un servidor SFTP utilizando aplicaciones FTP antiguas.
- Un cliente SFTP que soporta scrips y línea de comandos, denominado sftpc.
- Un cliente de ejecución remota que soporta scripts y línea de comandos, denominado sexec.
- Un cliente de tunelización mediante línea de comandos -stnlc- con soporte para reglas estáticas de reenvío de puertos, entre otros.
Aunque hay muchos clientes SSH disponibles vamos a utilizar Bitvise SSH Client para completar el artículo, dado que además es un cliente muy completo y mi preferido a nivel personal.
Instalación y primeros pasos
Descargaremos Bitvise SSH Client escogiendo una de las dos opciones facilitadas:
- Si ya hemos configurado previamente un servidor -Bitvise o cualquier otro- en nuestra máquina Windows, escogeremos la opción Tunnelier.
- Si queremos empezar a configurar un servidor SSH Bitvise junto con nuestro cliente de conexión, escogeremos la opción WinSSHD.
Comenzaremos ahora la instalación del cliente y definiremos la ruta deseada, así como si será instalado para todos los usuarios:
Ya podemos realizar una conexión con Bitvise SSH Server puesto que lo hemos iniciado. Para ello escribiremos la dirección IP y puerto en el campo apropiado. Durante la primera conexión a un servidor se nos avisará de que se trata de un host no reconocido y deberemos aceptar la confianza en él.
Una vez establecida la conexión tendremos la posibilidad de establecer conexión mediante consola (SSH), SFTP y Escritorio remoto. Por defecto se abrirá conexión mediante los dos primeros protocolos:
Además, una vez establecida la conexión con el host remoto, estas opciones aparecerán en la consola del cliente SSH:
Si pulsamos sobre «Save profile as» podremos guardar la conexión para iniciarla rápidamente en el futuro.
Opciones de configuración
Repasaremos ahora algunas opciones de configuración a tener en cuenta.
Pestaña Opciones
Podremos definir las acciones que tendrán lugar cuando iniciemos la conexión remota: protocolos, ejecución de comandos remotos, etcétera. También podemos indicar al cliente que cierre sesión cuando finalice la actividad.
Pestaña Terminal
Podremos definir el protocolo y codificación del terminal, habilitar el reenvío X11 y las propiedades gráficas, entre otras cosas.
Para no hacer este artículo más largo dejaré que descubras el resto de opciones por tí mismo. Te recomiendo buscar en Google si tienes dudas.
Conclusiones
Como has podido comprobar resulta muy sencillo montar una infraestructura cliente-servidor SSH en Windows gracias a herramientas como las que nos ofrece Bitvise, lo quenos posibilta el poder administrar un servidor o equipo Windows de diferentes maneras.
El servidor SSH de Bitvise es de pago (aunque tiene opciones que justifican su precio, dependerá de tus necesidades) pero el cliente de conexión SSH es totalmente gratuito y bastante potente.
Si te ha gustado este artículo, ¿por qué no compartirlo con tus amigos? 😉
Categories
deweloper View All
Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.
Hola,
¿y para que quieres bitvise cuando OpenSSH ya está disponible de forma nativa en Windows 10?
Pues porque no todo el mundo usa Windows 10 y porque es una alternativa con algunas características interesantes. De todas formas analizaré la opción OpenSSH ya que lo tenía en mente.
Buenas noches,
La versión Free tiene una capacidad de 10 cuentas, siendo paga que capacidad tiene ?