En este artículo vamos a ver cómo podemos usar SSH en Windows 10 desde la línea de comandos del sistema. Concretamente utilizaremos PowerShell y las ventajas que esta nos ofrece. SSH es uno de los protocolos de los protocolos de comunicación para conexiones remotas más utilizados actualmente debido a su alta seguridad y a la amplia compatibilidad con Windows y Linux.
Índice de contenidos
Utilizar SSH en anteriores versiones de Windows era relativamente más complicado, ya que hay que instalar programas externos como Putty para obtener la compatibilidad entre Linux y Windows. Pero eso actualmente no es necesario ya que Windows 10 cuenta con un módulo de SSH para poder realizar las conexiones desde nuestro sistema ante en forma de cliente como configurándolo como un servidor.
Que es SSH
SSH o Secure Shell es un protocolo de comunicaciones seguras para conectar de forma remota dos sistemas operativos para que podamos controlar mediante consola de comandos un equipo host desde un equipo cliente.
Lo más importante de SSH es que es capaz de encriptar la sesión de conexión, cosa que no es posible con FTP o Telnet, protocolos mucho más inseguros y ya poco utilizados.
SSH también permite copiar datos de forma segura desde un host a un cliente con la posibilidad de utilizar claves RSA más seguras que las claves de sesión de usuarios normales y además podremos tunelizar la transmisión de ficheros para adquirir aún más seguridad.
Actualmente es posible hacer SSH entre prácticamente cualquier equipo tenga el sistema operativo que tenga, ya que existen programas específicos para obtener estar compatibilidad, como por ejemplo OpenSSH, Putty, Shell, SSH-Agent entre otros.
Con SSH nos podremos conectar a un equipo configurado como servidor tanto en una red interna como de forma totalmente remota. Para hacer esto tendremos que abrir el puerto TCP 22, que es el utilizado por defecto.
Configurar servidor SSH en Ubuntu
Ahora lo que vamos a hacer es configurar SSH como servidor en un equipo con Ubuntu y acceder a él mediante un cliente Windows.
Entonces, lo primero que tendremos que hacer es conseguir ejecutar SSH en modo servidor en un Ubuntu. Así que vamos a abrir un terminal de Linux para comenzar con el proceso.
Para instalar el servidor SSH tendremos que ejecutar el siguiente comando:
sudo apt-get install openssh-server
Colocamos la contraseña y el proceso de instalación durará unos segundos. Los comandos más importantes para gestionar nuestro servidor SSH en Ubuntu será los siguientes:
sudo gedit /etc/ssh/sshd_config
con este comando abriremos el fichero de configuración de SSH para editar parámetros como el puerto de comunicación, el protocolo de encriptación u otros aspectos.
sudo /etc/init.d/ssh start
Comando para iniciar el servidor SSH
sudo /etc/init.d/ssh stop
Comando para apagar el servidor SSH
sudo /etc/init.d/ssh restart
Comando para reiniciar el servidor SSH tras un cambio de configuración, por ejemplo
Nosotros en principio, este fichero de configuración vamos a dejarlo tal y como está por defecto, ya que el tutorial se trata de establecer una comunicación desde Windows y no configurar un servidor en Ubuntu
Entonces. Lo que haremos es ejecutar el comando relativo al inicio del demonio de SSH. Ahora pasaremos a Windows.
Ver dirección IP de nuestro servidor Linux
Solamente nos queda saber la dirección IP del servidor de SSH que hemos activamos. Para ello utilizamos el comando:
ip a list
Conectar con cliente SSH Windows 10
Para utilizar SSH Windows 10 tendremos que utilizar PowerShell o símbolo del sistema y hacer algunos procedimientos para activar el programa y poder utilizar en nuestra consola de comandos
Instalar Cliente SSH Windows 10
Con Windows 10 lo tenemos bastante fácil. Podemos activar tanto un cliente SSH como un servidor mediante la lista de características del panel de configuración.
- Nos dirigimos al menú inicio y pulsamos sobre la rueda dentada para abrir el panel de configuración.
- Elegimos la opción de “Aplicaciones” y dentro de este nos situamos sobre la opción “Aplicaciones y características”
- Ahora debemos de pulsar sobre la opción en la zona derecha de “Administrar funciones opcionales”
Dentro de la lista que nos aparecerá, es posible que tengamos ya instalado el cliente ssh por defecto, en cuyo caso nos aparecerá en esta lista.
- Si no lo tenemos instalado pulsamos sobre “Agregar una característica”
Una vez dentro de la lista de características debemos localizar las dos aplicaciones que nos interesan: “Cliente OpenSSH” y “Servidor OpenSSH”
En ambos casos pulsaremos en “Instalar”. Si volvemos a la ventana anterior podremos ver como ya aparecerá instalados estos elementos.
Ahora ya estaremos en condiciones de utilizar el cliente SSH para conectarnos a nuestro equipo Ubuntu
Conectarse con cliente SSH a Linux desde Windows 10
Lo primero que tenemos que hacer es abrir una ventana de PowerShell. Para ello pulsamos con botón derecho sobre el botón del menú inicio y elegimos “Windows PoweShell”.
Si escribimos el comando:
ssh
Obtendremos información acerca de las distintas opciones que tenemos disponibles.
Para conectarnos a un servidor con SSH desde Windows 10 lo único que tendremos que escribir es lo siguiente:
ssh <usuario>@<dirección IP del servidor>
Por ejemplo “ssh jose@192.168.2.104”. Automáticamente nos pedirá las credenciales del usuario de Ubuntu y ya habremos accedido
Si no escribimos un usuario, por defecto se detectará el usuario que haya disponible en el sistema servidor como en este caso:
Por defectos nos encontraremos en el directorio /home del usuario del sistema Ubuntu. Y ya podremos hacer lo que queramos en nuestro equipo servidor de forma remota.
Para desconectarnos de la sesión solamente tendremos que escribir el comando:
exit
Para conectarnos de forma remota desde una red distinta a la nuestra, tendremos que abrir el puerto 22 de nuestro router y entrar con la IP real de nuestro enlace a internet.
Configurar servidor SSH Windows 10
Ahora realizaremos el mismo procedimiento, pero desde un cliente Windows hacia un servidor también en Windows. Antes ya procedimos a instalar el servidor SSH para Windows, por lo que ahora solamente habrá que iniciarlo para poder conectarnos.
Iniciar Servidor SSH en Windows 10
Para abrir la lista de servicios del sistema y activar el servidor SSH aremos lo siguiente:
- Pulsamos “Windows + R” para abrir la herramienta Ejecutar y colocamos dentro el siguiente comando:
services.msc
- Ahora debemos localizar el servicio los servicios “OpenSSH Authentication Agent” y “OpenSSH SSH Server”
Lo que podemos hacer ahora con estos dos servicios es configurarlos para que se inicien cuando arranque el sistema
- Pulsamos primero con botón derecho sobre “OpenSSH SSH Server” y elegimos “Propiedades”
- Se nos abrirá una ventana en la que debemos elegir en “tipo de inicio” el de “automático”
- Seguidamente pulsamos en “Iniciar”
- Ahora hacemos lo propio con “OpenSSH Authentication Agent”.
Ya tendremos el servidor SSH ejecutándose en nuestro equipo servidor.
Habilitar puerto de escucha para OpenSSH Windows 10
Esto es especialmente útil si lo que queremos hacer es acceder de forma remota por el puerto 22 a nuestro servidor SSH. Tendremos que colocar el siguiente comando en nuestra consola PowerShell ejecutada con permisos de administrador
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Service sshd -Enabled True -Direction Inbound -Protocol TCP -Action Allow -Profile Domain
Conectarse un servidor SSH Windows 10
Pues ya está todo listo para poder conectarnos a nuestro servidor de Windows 10 recién configurado.
Lo que tendremos que hacer es el mismo procedimiento de antes, aunque si la IP de nuestro equipo es la misma que con la que accedimos anteriormente en el servidor Ubuntu no va a dar un error.
Solucionar error remote host identification has changed SSH
Este error nos salta debido que anteriormente hemos accedido a un servidor SSH con la misma dirección IP que otro que tenemos actual. Debido a que es un sistema operativo distintos y otro dominio en ejecución la clave RSA de seguridad asociada al servidor es distinta y nos saltará este error.
Para poder solucionarlo, lo único que tendremos que hacer es entrar en una ventana PowerShell o Símbolo del sistema como administrador y colocar el siguiente comando:
ssh-keygen -R <dirección IP del servido>
Por ejemplo, en nuestro caso: “ssh-keygen -R 192.168.2.104” y de esta forma la lista de claves asociadas se vaciará para solicitarnos una distinta
Ahora ejecutamos de nuevo el proceso de conexión y esta se realizará correctamente
Conectarse a un servidor SSH Windows 10 desde Ubuntu
Ahora veremos una forma de conectarnos muy útil a un servidor SSH en Windows 10 desde Ubuntu y cualquier otro Linux y es mediante interfaz gráfica.
Lo que haremos será abrir el explorador de archivos de Ubuntu y pulsar la combinación de teclas “Ctrl + L” para habilitar la barra de dirección del explorador.
Para acceder al servidor escribiremos el siguiente comando o línea:
ssh://<usuario>@<ip de servidor>
por ejemplo “ssh://Dell@192.168.2.104” nos pedirá la confirmación de seguridad y luego la contraseña de usuario.
De esta forma accederemos mediante interfaz gráfica a los archivos almacenados en el equipo servidor
Conectarse de forma remota a un servidor SSH
Para finalizar también citaremos la posibilidad de conectarnos de forma remota a nuestro servidor SSH tanto Windows como Linux. La única cosa que necesitaremos tener en cuenta es el hecho de estar fuera de una red privada como hasta ahora.
Necesitaremos conocer la IP real del servidor y el puerto por donde irá la transmisión, que por defecto será el puerto 22. De esta forma el comando que tendremos que utilizar para conectar será el siguiente:
ssh -p 22 <usuario>@<IP real>
por ejemplo, en nuestro caso sería: “ssh -p 22 Dell@IP-real”
En adelante, el proceso será idéntico.
También te podría ser de utilidad los siguientes tutoriales:
¿Qué sistemas quieres conectar por SSH? Si has tenido algún problema para la conexión déjanoslo en los comentarios para ayudarte