Conexión SSH: Qué es y cómo acceder por SSH a tu servidor

conexion-ssh
4.6
(10)

Para acceder por terminal a tu plan de hosting o a tu servidor es necesario establecer una conexión SSH.

Normalmente, la conexión SSH se establece para gestionar o realizar actividades de mantenimiento de servidores, pero en nuestros planes de alojamiento también tenemos habilitado el acceso SSH para que puedas realizar algunas tareas a través de línea de comandos.

Si no sabes muy bien cómo establecer una conexión SSH o es la primera vez que vas a acceder por terminal a tu plan de hosting, no te preocupes. En esta guía voy a explicarte todo lo que necesitas saber sobre este protocolo. Primero veremos qué es SSH, cómo funciona y cómo establecer una conexión SSH segura a tu hosting o servidor.

¿Qué es SSH?

SSH o Secure Shell es un protocolo seguro para acceder de forma remota a un servidor.

Accediendo a un servidor remoto a través del protocolo SSH los riesgos de seguridad se reducen considerablemente. Secure Shell se encarga de encriptar todas las sesiones desde y hacia el servidor, por lo que nadie podrá tener acceso a las contraseñas, los datos de acceso o a lo que se haya escrito en la terminal.

El protocolo SSH fue desarrollado para sustituir otros protocolos menos seguros como es el caso de Telnet, Remote Shell o rlogin, algunos de los más utilizados y en los que la información se transmitía en texto plano. Algo muy inseguro y fácil de interceptar por hackers o usuarios malintencionados.

Tipos de cifrado SSH

Uno de los puntos fuertes de este protocolo de administración es el nivel de encriptación que existe entre cliente y servidor. Para ello, SSH utiliza varias técnicas o formas de cifrado que logrando así la máxima protección en la transferencia de datos: cifrado simétrico, cifrado asimétrico y hashing.

Cifrado simétrico

El cifrado simétrico, cifrado secreto compartido o también llamado clave compartida es el tipo de cifrado SSH más utilizado.

Mediante este método se utiliza una clave generada mediante un algoritmo y se utiliza tanto para el cifrado como el descifrado de información intercambiada entre cliente y servidor.

Pese a utilizar la misma clave, el cifrado simétrico es un método totalmente seguro, ya que esta clave nunca se transmite entre cliente y servidor, sino que estos dos sistemas llegan a un acuerdo y generan la misma clave de forma independiente. Esto también es conocido como algoritmo de intercambio de claves.

Cifrado asimétrico

A diferencia del cifrado simétrico, este tipo de cifrado utiliza dos claves: una para el cifrado de información y otra diferente para el descifrado.

Estas dos claves son conocidas como clave pública (public key) y clave privada (private key). La pública utilizada en el cifrado de información y la privada para el descifrado.

Lo que hace que este cifrado asimétrico sea totalmente seguro es que ambas claves son únicas y una deriva de la otra, de modo que para poder establecer la comunicación entre servidor y cliente es necesario tener acceso a ambas.

Para que te hagas una idea de cómo funciona el cifrado asimétrico de SSH voy a ponerte un ejemplo.

Siendo A y B dos sistemas de comunicación, para que A pueda enviar un mensaje a B, debe cifrarlo con la clave pública del otro usuario y, a su vez, B tiene que descifrarlo con su clave privada. Lo mismo ocurre si es B quien tiene que enviar un mensaje a A; B tiene que cifrarlo con la clave pública de A y este descifrarlo con su clave privada.

Hashing

Este tipo de cifrado no se caracteriza por la seguridad en el tipo de claves que utiliza, sino por su efectividad para autenticar mensajes y garantizar que nadie pueda modificar la información que se transmite.

Realmente lo que hace este sistema es crear un hash o una cadena de longitud fija para cada entrada. Esto es posible gracias a una función hash que no tiene inversa, es decir, una vez que el mensaje es cifrado, no hay marcha atrás, el mensaje no se puede descifrar.

Este cifrado de autenticación es utilizado en una conexión SSH para añadir una capa de seguridad extra. Primero, mediante el cifrado de clave compartida, encripta la información que se va a transmitir entre servidor y cliente. Posteriormente, para proteger y evitar que esta información sea interceptada o modificada por nadie, la protege con un hash.

Por tanto, en el hipotético caso de que la clave compartida fuese descubierta por un robot, nadie podría acceder a la información que se transmite ni modificarla porque el hash también variaría. Si el hash cambia, el receptor del mensaje detecta que la información ha sido alterada y no es válida.

Funcionamiento de una conexión SSH

Para que se establezca una conexión SSH segura es imprescindible que los terminales que intervienen en la comunicación (cliente – servidor) pasen por dos etapas. Primero deben acordar el tipo de cifrado que van a utilizar y, posteriormente, debe producirse la autenticación de la información que se transmite.

Si esto ocurre de manera exitosa, es cuando el usuario tiene acceso a realizar la conexión por SSH a su servidor.

Veamos brevemente en qué consiste cada una de estas etapas.

Primera etapa: Negociación del cifrado

Para que se pueda transmitir información entre cliente y servidor deben llegar a un acuerdo de cómo van a cifrar la información. Para ello, el servidor le muestra al cliente los tipos de cifrado y versiones que soporta y, en el caso de que coincidan con el cliente, la conexión continúa.

Al mismo tiempo, el cliente puede utilizar la clave pública del host o servidor para verificar que es el adecuado.

Llegados a este punto, mediante el algoritmo Diffie-Hellman, cliente y servidor, acuerdan una clave secreta (cifrado simétrico) mediante la cual toda la información queda encriptada para que nadie pueda interceptarla.

Segunda etapa: Autenticación del usuario

En esta segunda etapa el usuario que quiere realizar la conexión SSH a su servidor debe autenticarse con sus credenciales de acceso. Estas credenciales también viajan cifradas, por lo que nadie podría tener acceso a ellas.

Las claves que necesitarás para autenticarte son:

  • Nombre de usuario
  • Puerto
  • Servidor

Estos datos te permitirán acceder a tu servidor, pero para que la comunicación sea totalmente segura, también existe una clave de sesión única que es necesaria para que se llegue a establecer la conexión. Esta clave expira una vez finalizada la sesión.

Cómo establecer una conexión SSH

Ahora que sabes qué es y cómo funciona el protocolo SSH, veamos cómo acceder por SSH a tu servidor.

En función del sistema operativo que utilices en tu PC es posible que necesites instalar un cliente SSH que te permita acceder de forma remota a tu servidor.

Por ejemplo, si utilizas Windows es necesario instalar en tu ordenador un cliente externo de SSH como Putty. En cambio, en Mac o Linux es más fácil, ya que puedes utilizar directamente el programa de tu terminal.

1º. Genera y autoriza una clave de acceso

Para acceder por SSH a tu alojamiento primero tienes que configurar la clave de acceso en cPanel. La clave de SSH funciona a modo de contraseña, pero es muchísimo más segura. Te explico:

  • Una contraseña es una cadena de caracteres que un usuario elige para verificar su identidad y obtener acceso a un servicio. Las contraseñas son fáciles de usar, pero su nivel de seguridad depende de su complejidad y longitud. Además, son vulnerables a ataques de fuerza bruta o técnicas de phishing.
  • Una clave SSH es un par de claves criptográficas (una clave pública y una privada) que se utilizan para autenticar el acceso a un servidor. La clave pública se almacena en el servidor, mientras que la clave privada se guarda en tu dispositivo. Cuando intentas conectarte al servidor, tu dispositivo utiliza la clave privada para crear una firma digital, que el servidor verifica con la clave pública. ¡Este método es mucho más seguro!

Pues bien. Ahora que estás al tanto, querrás crear tu clave SSH. Entra en el panel de control de tu hosting y abre la herramienta «Acceso a SSH»:

Abrir la herramienta de acceso a SSH

A continuación pulsa en «Administrar claves SSH».

Administrar claves SSH

Genera una nueva clave pulsando en el botón «Generar una nueva clave».

Generar una nueva clave para establecer una conexión SSH

En el formulario debemos configurar el nombre de la clave, una contraseña, el tipo de clave y el tamaño. Puedes dejar todos los valores por defecto y establecer solamente una contraseña en los campos «Contraseña clave» y «Vuelva a ingresar la contraseña».

Configuración de la clave SSH

La clave se genera con el estado «not authorized» por defecto. Para autorizarla simplemente debes pulsar sobre «Administrar» y en el botón «Authorize».

Autorizar clave SSH

Ahora descarga el fichero de la clave privada para poder utilizarlo en el siguiente paso. Para ello, pulsa sobre «Ver/Descargar».

Descargar clave SSH

Introduce la contraseña que has establecido para esta clave y haz clic en «Convertir».

Convertir clave SSH

Por último, pulsa en «Descargar clave» y guarda el fichero .ppk generado.

2º. Configura la clave y el acceso en Putty

Como cliente de acceso SSH vamos a utilizar Putty. Podrás descargarlo directamente en su página oficial.

Una vez abierto debemos establecer algunos datos para poder realizar la conexión y añadir la clave que hemos generado antes.

En el apartado «Session» configura la IP de tu alojamiento.

Configurar un hosting en Putty

Si no la conoces, puedes verla accediendo a cPanel y, en la parte derecha, se muestra la IP en el campo «Shared IP Address» del apartado «Información general».

Obtener la IP de un plan de hosting

También debes vincular el fichero .ppk de la clave que has generado. Accede al apartado «Connection» – «SSH» – «Auth» y pulsa en el botón «Browse».

Configurar la clave SSH en Putty

Ya tendrías configurada la conexión. También puedes guardar la conexión en el apartado «Session» estableciendo un nombre en el apartado «Saved Session» y pulsando en «Save».

Guardar la sesión de una conexión SSH en Putty

Puedes conectarte pulsando en el botón «Open». Introduce tu nombre de usuario y la contraseña que has establecido para la clave.

Nota: Si no conoces el usuario de cPanel, puedes consultarlo a través del Área de cliente. Para ello accede al apartado «Servicios» – «Mis servicios» y pulsa en la opción «Gestionar producto». En la información del producto podrás ver el usuario de tu cuenta de cPanel.

¿Alguna duda sobre lo que es SSH?

Si una vez visto qué es el protocolo SSH y cómo acceder por SSH a tu servidor todavía tienes alguna duda, déjame un comentario aquí abajo e intento echarte una mano 🙂

Además, recuerda que si tienes tu servicio con nosotros el equipo de soporte está disponible 24/7 para resolver cualquier duda o ayudarte a conectarte por remoto a tu plan de hosting. Escríbenos por email, abre un ticket o llámanos, ¡ya sabes que estamos encantados de echarte un cable!

¡Puntúa este artículo!

Total votos: 10. Promedio: 4.6

María Acibeiro

Dicen que si trabajas en lo que te gusta, no tendrás que trabajar nunca más. Así que, por aquí nos veremos mucho más de lo que te imaginas 😜

No hay comentarios

Escribe un comentario