protocolo SSH

¿Qué es el protocolo SSH?

Secure SHell (SSH), o intérprete de órdenes seguro, es un protocolo para acceder de forma remota a un servidor privado. Además, da nombre al programa que permite su implementación. El protocolo SSH o Secure SHell es un protocolo que posibilita el acceso y la administración de un servidor a través de una puerta trasera (backdoor). Y, a diferencia de otros protocolos como HTTP o FTP, SSH establece conexiones seguras entre los dos sistemas.

Esto se produce recurriendo a la llamada arquitectura cliente/servidor. Como ya ocurriera con el protocolo TCP, SSH nació para sustituir a otros protocolos. Por su antigüedad, estos protocolos resultaban inseguros para la conexión o el intercambio de datos en internet. En este sentido, el antecedente de SSH es Telnet (Teleccomunication Network). Un protocolo de red en modo terminal para acceder a una máquina remota desarrollado en 1969. En aquellos años en los que el uso de internet se limitaba a Instituciones Académicas y a los Gobiernos.

Como ya ocurriera con el protocolo TCP, SSH nació para sustituir a otros protocolos. Por su antigüedad, estos protocolos resultaban inseguros para la conexión o el intercambio de datos en internet. En este sentido, el antecedente de SSH es Telnet (Teleccomunication Network). Un protocolo de red en modo terminal para acceder a una máquina remota desarrollado en 1969. En aquellos años en los que el uso de internet se limitaba a Instituciones Académicas y a los Gobiernos. La diferencia entre ambos es que SSH añade seguridad mediante cifrado. En cambio, con Telnet toda la información viaja por internet en forma de texto plano haciéndola fácilmente accesible a cualquier hacker.

Conectar por SSH para encriptar las sesiones

Accediendo a un servidor remoto a través del protocolo SSH los riesgos de seguridad se reducen considerablemente.

Tanto en el caso del cliente como del propio sistema la seguridad se mejora gracias a la encriptación. Secure SHell se encarga de encriptar todas las sesiones.

Así, resulta imposible que alguien pueda acceder a las contraseñas, los datos de acceso del cliente o a lo que éste haya escrito. Cuando se produce una conexión mediante el protocolo Secure SHell, el usuario remoto es autentificado por el sistema.

A continuación, se procede a la transferencia de la información desde el cliente del host y devolver los datos al cliente.

¿Para qué se usa el acceso por SSH?

Tal vez una mejor pregunta es «¿para qué no puedes usar la SSH?». Una vez que te conectas a tu servidor a través de SSH, tienes el control total.
Puedes ejecutar los comandos que quieras, siempre y cuando entiendas la línea de comandos.
Por ejemplo, si usas WordPress, puedes usar WP-CLI para interactuar con tu sitio de WordPress y los plugins una vez que te conectes con SSH. Puedes crear contenido, aplicar actualizaciones, administrar taxonomías y mucho más.


Básicamente, una vez que usas SSH para conectarte a tu servidor, tienes una
gran flexibilidad porque puedes ejecutar tus propios comandos según lo
necesites, lo cual no es el caso con SSL.

SSL y SSH

Tanto SSL como SSH te ayudan a crear conexiones seguras. Ambos encriptan los datos que circulan entre dos dispositivos. La diferencia clave entre SSH vs. SSL es que SSH se utiliza para crear un túnel seguro hacia otro ordenador desde el que se pueden emitir comandos, transferir datos, etc. En el otro extremo, SSL se utiliza para transferir datos de forma segura entre dos partes, no permite emitir comandos como se puede hacer con SSH.

Siempre y cuando haya instalado un certificado SSL y habilitado HTTPS, todas las personas que visiten tu sitio web interactuarán con el servidor de tu sitio mediante SSL; no necesitan autenticarse para acceder a tu sitio. Sin embargo, la única persona que interactúa con SSH serás tú u otros usuarios técnicos que se supone tienen acceso directo a tu servidor y pueden autenticarse ya sea con un nombre de usuario/contraseña o una clave criptográfica.

En resumen, SSH y SSL parecen similares a primera vista porque ambos ayudan a crear conexiones seguras. Sin embargo, sirven a dos propósitos muy diferentes. SSL se utiliza principalmente para encriptar los datos que se mueven entre los visitantes de tu sitio web y tu servidor. Por ejemplo, si un visitante introduce su tarjeta de crédito o su contraseña en un formulario de acceso, el SSL es lo que encripta esos datos y los protege de los ataques de las personas que están en medio. Por otra parte, SSH se utiliza para iniciar sesión de forma segura en una máquina remota para poder emitir comandos, manipular archivos en esa máquina, etc. Necesitarás SSH si quieres usar WP-CLI, administrar los archivos de tu sitio a través de SFTP, acceder a tu base de datos de forma remota, etc.

Las únicas personas que pueden usar SSH para conectarse a su servidor son
las que pueden autenticarse con un nombre de usuario/contraseña o claves
SSH.

Puerto SSH cómo cambiarlo

De forma habitual, comprobamos como uno de los mayores problemas de seguridad en los servidores dedicados, es dejar el puerto SSH por defecto. El puerto por defecto, es el puerto 22. Normalmente, en la practica totalidad de distribuciones, nos podremos conectar a nuestro servidor mediante el puerto 22. Para prevenir una gran cantidad de problemas relacionados con mantener el puerto por defecto, lo ideal es modificarlo. Si utilizamos OpenSSH, el proceso de cambio es sencillo y no tiene dificultad alguna.

La mayoría de proveedores de Hosting en España te permiten acceso a SSH con limitaciones, consulta con el equipo técnico de soporte para obtener más información.

Para ello, debemos editar el archivo sshd_config:


nano /etc/ssh/sshd_config

Se nos visualizara una pantalla para poder editar y modificar ciertas características del servicio SSH. Nos vamos a centrar en la primera linea (tras la introducción) donde vemos «#Port 22». Simplemente debemos eliminar el corchete (#) y cambiar el numero 22, por aquel que queramos.

Ojo, es muy importante, recordar el numero que vamos a utilizar como puerto. En el caso de olvidarlo, no podremos acceder a nuestro servidor, y deberemos reiniciarlo en rescue con el fin de poder modificarlo. Por lo tanto, utiliza un numero que te pueda ser familiar, o fácil de recordar.

En el editor de texto nano, pulsamos Control + X, para cerrar y guardar los cambios. Otro de los aspectos a tener en cuenta, es que si estas trabajando con un firewall, debes autorizar el puerto de acceso, con el fin de no quedarte bloqueados. Una vez realizada la acción, debes reiniciar el servicio SSH. Dependiendo de la distribución Linux que tengas, deberas hacerlo con (CentOS, Fedora):

/etc/init.d/sshd restart

Si usas una distribución Ubuntu o Debian:

/etc/init.d/ssh restart

La evolución del protocolo SSH

En sus inicios, el protocolo SSH era libre. Pero entre 1995 y 1999 su licencia fue cambiando hasta que Red Hat Enterprise creó la segunda versión del protocolo Secure SHell: OpenSSH. Esta segunda versión del protocolo solucionaba la vulnerabilidad a un agujero de seguridad presente en la primera versión mediante un intercambio de claves. Aun así, OpenSSH permite la conexión SSH a través de la primera versión del protocolo.

Además del ya mencionado cifrado de los datos que aporta Secure SHell, el uso del protocolo permite que el cliente pueda verificar en cualquier momento si está conectándose al mismo servidor en cada uno de sus accesos. El nivel de encriptación utilizado por el protocolo SSH es de 128 bits. Un cifrado muy potente que hace que cualquier información, enviada o recibida, que se intercepte sea extremadamente difícil de leer y descifrar.

De la misma manera, permite a los usuarios acceder a un servidor de forma remota además de reenviar todo tipo de aplicaciones X11, proporcionando una forma segura para utilizar aplicaciones gráficas.

descuento para hostings españoles
Últimas entradas de Gerard Martinez (ver todo)
Abrir chat
¿Te ayudo a elegir Hosting?
Equipo DH
Hola! si tienes dudas sobre que Hosting es el adecuado para ti, contáctame y te ayudo.