La conexión a servidores remotos a través de un ordenador es una práctica cada vez más extendida. Los SSH permite conectarte de manera segura y eficiente y es posible hacerlo tanto en el sistema operativo Windows como en Linux. Este protocolo es esencial para aquellos s que buscan servidores remotos que aseguren la confidencialidad de la información mediante técnicas avanzadas de encriptación. A continuación, te enseñamos paso a paso cómo configurar y utilizar SSH y todo lo que tienes que saber para hacerlo.
Los servidores remotos Segure Shell, más conocidos como SSH, son compatibles con Windows, con macOS o con Linux y cualquier de estos sistemas operativos pueden ejecutar comandos para operar o utilizar un equipo remoto. Aunque sean ampliamente conocidos entre los expertos, no todo el mundo sabe cómo funcionan, para qué sirven, cuáles son las ventajas de usarlo y cómo conectarse desde su ordenador. Por eso, te comentamos lo que necesitas saber para conectarte, independientemente del software que uses en tu PC. En los siguientes párrafos, encontrarás la guía que te permitirá establecer una conexión SSH efectiva. ¡Empezamos!
Cómo conectarnos a un servidor remoto en Windows
Tenemos dos alternativas para conectarnos a un servidor remoto SSH: hacerlo desde el propio Windows 10 (algo que permite desde su actualización en 2017) o utilizando programas dedicados a ellos, como es el caso de PuTTy. Te comentamos cómo puedes hacerlo de ambas formas.
Hacerlo desde Windows 10
Puedes instalar el cliente OpenSSH desde Windows 10 sin necesidad de instalar nada “extra” ni ningún programa especializado. Te explicamos cómo:
- Ve a la configuración de Windows 10
- Abre el apartado de Aplicaciones
- Elige la primera opción del menú de la izquierda: Aplicaciones y características
- Una vez en esta pantalla, escoge el apartado “Características opcionales”, tal y como puedes ver en la siguiente captura adjunta
Cuando hayamos llegado a esta pantalla tendremos la opción de ver las características opcionales por defecto en el sistema o las que hayas añadido antes. Pero, además, te permite tocar sobre la opción “Agregar una característica”.
Toca sobre este botón y podremos ver todas las opciones y características que nos ofrece Windows en Windows 10. Haz scroll para ver todas las opciones de la lista y añade las que corresponden a “Cliente OpenSSH” y a “Servidor OpenSSH” para terminar el proceso.
Una vez que lo hayas utilizado, tendrás que conectarte al servidor desde CMD o el Símbolo del Sistema, sin nada más que utilizar una serie de comandos. No tienes que utilizar nada más ni descargar nada.
- Abre CMD en ordenador
- Escribe el comando “ssh”
Así comprobarás que el cliente está habilitado Una vez lo hayas hecho, podrás usar alguno de los siguientes comandos para conectarte al servidor:
- ssh IP_del_servidor:puerto
- ssh @IP
Una vez que te hayas conectado ya podrás controlar el servidor desde aquí utilizando comandos y sin necesidad de tener un software de terceros instalado.
Activando OpenSSH Authentication Agent
Una vez ya instalado el cliente OpenSSH lo correcto sería que también activaremos OpenSSH Authentication Agent. Estamos acostumbrados a trabajar con un simple nombre de y contraseña, pero cuando hablamos de sistemas que comparten varios dominios (como es el caso al acceder a servidores remotos), la cosa cambia. OpenSSH Authentication Agent se va a encargar básicamente de hacer un seguimiento de nuestras credenciales, facilitando estas de un modo seguro al servidor al que accedemos. La forma de configurarlo será a través del cuadro de diálogo “Ejecutar”, y además lo haremos de una forma bastante sencilla y directa.
- En primer lugar dirígete a la barra de inicio de Windows 10 y en el buscador teclea “Ejecutar”, o abre directamente el cuadro de diálogo con la combinación de teclas Win + R.
- Una vez abierto tecleamos services.msc y nos llevará a la ventana de servicios de Windows.
- En esta ventana de servicios locales del sistema tenemos que buscar el correspondiente a SSH. Simplemente hay que hacer un poco de scroll hacia abajo y daremos con él.
- Haciendo doble clic sobre este, o con el botón derecho y seleccionando la opción “Propiedades”, nos aparecerá el menú en el que podremos modificar diversos parámetros.
En principio estará desactivado, por lo que podemos cambiarlo a inicio manual, o automático para que se active cada vez que entramos a Windows. Esto funciona tanto en la versión 10 como en la 11 del sistema operativo de Microsoft.
Como podemos ver, la primera ventana que nos aparecerá será la de conexión rápida al servidor remoto. En esta ventana simplemente debemos configurar 3 apartados:
- Dirección IP o dominio remoto del servidor al que vamos a conectarnos.
- Puerto que utilizaremos para la conexión (configurado en el servidor)
- Protocolo a utilizar.
PuTTY no es sólo un cliente SSH, también permite realizar conexiones a otros protocolos como Telnet, Raw, R y Serial, por lo que también nos servirá para realizar este tipo de conexiones. En nuestro caso, como vamos a realizar una conexión SSH, marcaremos este protocolo.
Pulsaremos sobre el botón Open y se nos abrirá un terminal que establecerá la conexión. Una vez establecida nos preguntará por el con el que nos queremos identificar. Introducimos el , y cuando lo solicite, su contraseña correspondiente. Tras unos segundos estaremos dentro.
Secure Shell para Chrome
Si no quieres recurrir a programas ni herramientas de terceros, puedes optar por una extensión para Chrome que puedes instalar fácilmente. Con ella, te podrás conectar remotamente al ordenador que quieras por medio de diferentes protocolos. Su funcionamiento es por medio de un emulador del terminal y soporta protocolos comunes como SFTP y SSG, de manera que puedes hacer todo esto desde tu navegador. Puedes encontrarlo en esta página y descargarlo.
Esta opción es una forma sencilla para disfrutar de la conexión de servidores SSH y funciona a la perfección. Cuenta con muchas funciones interesantes y te permite conectarte directamente a servidores SSH sin tener que recurrir a proxies externos. Es un producto de Google Secure Shell Developers.
Anteriormente, había una plataforma llamada DEPRECATED Secure Shell App. Sin embargo, esta quedo obsoleta hace tiempo y no recibe más actualizaciones. Por motivos de seguridad, sus desarrolladores recomiendan a todos los s, incluidos los de ChromeOS que descarguen la mencionada aplicación.
La extensión Secure Shell continúa la misma senda que la app y ofrece sus mismas características, así como otras funciones adicionales que aumentan el rendimiento. Así, es un cliente SSH y emulador de terminal que ofrece un uso independiente para beneficiarse de Chrome de una manera muy eficiente. Una de sus últimas novedades es la incorporación de Mosh con una compilación alfa.
Establecer una conexión SSH en Linux
La mayoría de las distribuciones de Linux llevan por defecto un cliente SSH instalado al que se accede desde un terminal por lo que para darle un uso normal sin excesivos requisitos y sin necesitar funciones avanzadas adicionales podremos conectarnos a un servidor SSH sin necesitar ningún programa adicional.
En este tutorial vamos a mostrar cómo conectarnos a un servidor SSH desde un terminal de Ubuntu 14.04.
Lo primero que debemos hacer es abrir un terminal o un TTY en nuestro sistema. Para ello pulsaremos Alt+F1 para el TTY o abriremos el menú de aplicaciones y buscaremos el terminal si queremos seguir disponiendo de las aplicaciones de escritorio.
Para conectarnos al servidor SSH debemos escribir en nuestro terminal el siguiente comando:
- ssh @[IP]:[puerto]
Por ejemplo:
- ssh [email protected]:22
Pulsamos enter y se establecerá la conexión. Al ser un servidor seguro debemos crear la clave de seguridad y almacenarla en nuestro ordenador para futuras conexiones al mismo servidor. El mismo cliente nos preguntará si queremos crearla y continuar en caso de que no exista dicha clave.
A continuación, debemos introducir la contraseña del con el que vamos a iniciar sesión.
Para cerrar la conexión debemos teclear la palabra «exit» que finalizará la misma y evitar así que otros s puedan tomar el control de nuestra conexión SSH remota.
Qué es SSH
Lo más normal es que si has entrado en este artículo, ya sepas lo que es un servidor remoto SSH. Pero es posible que no lo sepas y es importante que conozcas su definición y sus utilidades antes de intentar conectarte.
SSH significa Secure Shell y es un protocolo cuya finalidad es permitir el remoto a un servidor. Podemos acceder de forma remota a un servidor asegurándonos que la información esté totalmente cifrada. SSH nos permite seguridad gracias a que cifra las conexiones de punto a punto. Nos permite conectarnos a un PC de forma remota y controlarlo, transferir archivos de forma segura, ejecutar aplicaciones o gestionar claves, por ejemplo.
No es el único ni el primero y hay otros protocolos como FTP, que ya lo conocerás, o como Telnet. Pero SSH o Secure Shell supone un avance, llegado en 1995, o una mejora precisamente de este último, de Telnet, con algunas de las ventajas en seguridad que ya hemos mencionado, siendo el cifrado lo más importante.
¿Para qué se usa?
Telnet es un protocolo nacido en los años sesenta que tenía como finalidad establecer conexión remotos entre un servidor, ordenadores, dispositivos, etc. Podemos “interactuar” de forma remota navegando entre archivos y funciona con comandos. Pero no es el único protocolo y hay otros, como es el caso de SSH, una versión más avanzada que llegó como su sustituto.
¿Para qué se usa? Nos permite hacer que dos ordenadores tengan una conexión segura, directa y cifrada por Internet. Nos evita problemas de ataques gracias a que los datos van completamente cifrados cuando accedemos al ordenador remoto. Podemos hacer copias de seguridad, transferir archivos, gestionar servidores… Puedes utilizar SSH para acceder a tu servidor, por ejemplo, si tienes en él cualquier tipo de contenido como pueden ser películas, fotografías, series.
Entre las utilidades que podemos tener, también, aparecen lass siguientes:
- Desarrollo de webs, apps, gráficos… SSH es muy usado por programadores a la hora de trabajar con herramientas de control de versione. El control de versiones se ha vuelto indispensable para el desarrollo (ya sea web, apps, gráfico, etc.), y manejarlo mediante SSH es algo que todo programador tiene que aprender.
- Copiado de datos. con el protocolo SSH podemos copiar datos, esto se puede lograr por ejemplo mediante herramientas como rsync o s, que tienen operaciones sencillas y que usan una conexión vía SSH para copiar datos entre servidores, lo cual hace que toda esta información viaje entre los servidores seguros. Un ejemplo de esto pueden ser las migraciones de sitios entre servidores.
- SSHH para encriptado de contraseñas. Accediendo a un servidor remoto a través del protocolo SSH los riesgos de seguridad se reduce. De esta forma obtendremos una seguridad mucho mayo gracias a la encriptación, donde Secure SHell se encarga de encriptar todas las sesiones. Así, resulta imposible que alguien pueda acceder a las contraseñas.
¿Y qué es OpenSSH?
Puede que a lo largo de estos párrafos encuentres que hablamos también de OpenSSH. ¿Qué diferencia hay? Secure Shell o SSH es un proyecto de código abierto nacido a mitad de los noventa, pero pronto comenzó a ser parte de una empresa que decidió su comercialización. Usando su código abierto nació OpenSSH por parte de los s que se “negaban” a este nuevo sistema.
Son iguales, nos permiten lo mismo y lo único que puede diferenciar ambos es que el primero de ellos nos ofrece soporte, pero también tiene un coste.
¿Es seguro conectarse por SSH?
El protocolo de seguridad SSH es uno de los más potentes que existen en cuanto a la intercepción de posibles ciberataques. De hecho, su creador, Tatu Ylönen, impuso este mecanismo de defensa contra todos aquellos que intentaron robar sus contraseñas cuando se encontraba estudiando en la universidad. Así es como ideó la forma de conectarse por medio de otro ordenador para acceder a sus inicios de sesión sin que nada lo obstaculizara y pusiera en peligro su reputación. Por ello, a partir de ese momento, se reconoció que SSH era una de las funciones de conexión remota de cifrado de datos más segura que han existido hasta el momento. Sin embargo, la tecnología avanza a pasos agigantados y hay quien hace uso de ella para llevar a cabo intenciones maléficas y sacar beneficio de ello.
Por lo tanto, habría que plantearse la pregunta de si el SSH es a día de hoy lo suficientemente seguro como para estar gestionando datos sensibles a distancia sin ningún uso extra de protección. Lo cierto es que a estas alturas nadie está a salvo de nada y en cualquier momento pueden asaltar todas nuestras credenciales y acceder a nuestras cuentas sin que nos percatemos.
Bien es cierto que conectarse por WiFi público a un servidor SSH puede acarrear ciertos riesgos, ya que se tratan de redes abiertas para cualquier , así que siempre es más recomendable que uses tu red doméstica o de trabajo para iniciar sesión con tus datos. Pero también es conveniente que todos tus equipos a los que te vayas a conectar estén perfectamente actualizados a las últimas versiones con sus correspondientes parches de seguridad y así evitar males mayores. Asimismo, cambiar ciertos parámetros en la configuración que viene predeterminada en lso SSH podría desmejorar tu seguridad, así que lo mejor es que dejes todo tal y como está para evitar posibles desbloqueos de defensa.
Errores a tener en cuenta sobre SSH
De todas formas, tanto al operar con los sistemas de Windows o Linux que podamos tener en nuestro ordenador, es bastante usual encontrarnos con que en ocasiones nos encontremos con algunos errores al configurar estos servidores SSH, sobre todo teniendo en cuenta que no es una operación tan sencilla (o al menos no del alcance los que puedan estar menos familiarizados con estos términos).
Clave de seguridad
Por ejemplo, es bastante probable que, cuando nos conectemos por primera vez a un servidor SSH, se nos pregunte si queremos guardar lo que se conoce como ‘fingerprint’ o clave pública. Esta es una medida de seguridad para evitar que un servidor intente suplantar la identidad de otro.
Insertar comandos
También puede darse, claro está, el problema o error de haber insertado mal cualquiera de los comandos que hayamos escrito de forma incorrecta o errónea. Si esto ocurre, la terminal arrojará un error diciéndonos que el comando que intentamos utilizar no existe. Simplemente, escribe correctamente el comando y todo funcionará.
Conexión fallida
Como ocurre la mayoría de las veces en todos los programas informáticos, nada es perfecto y es posible que en algunas ocasiones no podamos conectarnos de manera efectiva al servidor SSH. Esto suele ocurrir porque no estableciendo correctamente la conexión, debido a que alguna aplicación puede estar entorpeciéndola, como un dispositivo de seguridad de red o el propio antivirus que esté produciendo incompatibilidades para realizar nuestra tarea. No obstante, también puedes lograr entrar a pesar de que nos topemos con conexión inestable, pero el servidor puede dar fallos al ir tan lento y en cuestión de segundos nos puede echar a nuestro escritorio.
Si lo vuelves a intentar sin éxito, lo que debes hacer es comprobar que tu velocidad de Internet sea la adecuada y no esté perjudicando el mal funcionamiento del servidor. Para ello, ve a tu router, pulsa prolongadamente el botón de reset y reinícialo por si se hubiese quedado bloqueado, ya que suele ser una de las principales causas. Luego, puedes mirar que tu ordenador está recibiendo la señal de red para poder navegar y volver a probar si puedes conectarte al servidor remoto.
Utiliza la dirección IP correcta
Por último, cerciórate de que estás introduciendo en el programa del servidor la dirección IP correspondiente, junto al y contraseña respectivos, porque, de no ser así, no podrás iniciar sesión. Por lo tanto, debes hacerte con las credenciales adecuadas para hacer conexión con el host. Normalmente, los datos que tienes que incluir son los siguientes:
- Nombre de .
- Contraseña.
- Nombre del anfitrión.
- Puerto.
En el caso de que estés escribiendo bien los datos, puede que el puerto al que estés intentando acceder no se encuentra operativo y esté totalmente cerrado porque es vulnerable y ha recibido posibles ciberataques. Si te encuentras con esta situación, debes introducir por defecto el puerto 22, que es el que se suele utilizar normalmente para acceder a un servidor SSH.