Volver al blog

Cómo usar SSH para conectarse a un servidor remoto en Ubuntu

Cómo usar SSH para conectarse a un servidor remoto en Ubuntu

¿Qué es SSH?

SSH significa Secure Shell (Consola Segura). Con SSH puedes acceder a máquinas remotas de forma segura ya que la conexión está cifrada. Con el comando ssh desde la terminal de Linux, podemos conectarnos a servidores Linux remotos y trabajar como si fuera nuestra propia computadora. Al final de este tutorial, deberías tener una comprensión completa de cómo usar SSH para conectarte a un servidor remoto en Ubuntu.

Sintaxis

La sintaxis es la regla de cómo puedes usar el comando ssh. Puedes reorganizar la sintaxis, pero se debe seguir un formato directo. A continuación se muestra un ejemplo de sintaxis para usar el comando ssh:

El nombre de dominio o la dirección IP a la que deseas conectarte es el remote_host como se muestra en el comando anterior. Esta sintaxis asume que tu nombre de usuario en el sistema remoto y en tu sistema local es el mismo. Sin embargo, en caso de que los nombres de usuario no sean iguales, puedes indicarlo con este comando:

Deberás verificar tu identidad proporcionando una contraseña inmediatamente cuando te conectes al servidor. Escribe el comando exit para volver a tu sesión local.

Cómo configurar SSH

El archivo de configuración principal de sshd en Ubuntu se encuentra en /etc/ssh/sshd_config. Si cambias la configuración de SSH, los ajustes del servidor SSHD cambiarán automáticamente. Antes de realizar cualquier configuración, asegúrate de hacer una copia de seguridad de la versión actual del archivo usando este comando:

Usa un editor de texto para abrirlo:

Deberías dejar la mayoría de los parámetros como están en este archivo. Sin embargo, hay algunas cosas a las que deberías prestar atención:

Las declaraciones de puerto indican el puerto en el que el servidor SSHD está esperando conexiones. El valor predeterminado es 22. A menos que haya razones específicas, no necesitas cambiar esta configuración:

La declaración de la clave de host indica dónde se encuentra la clave de host global:

El nivel de registros que se debe realizar se indica con estos dos elementos. Si tienes problemas al usar SSH, una excelente manera de identificar el problema es aumentar el nivel de registro:

Estas opciones definen cierta información para el inicio de sesión para evitar inicios de sesión no autorizados cuando los archivos de configuración no son seguros:

Estas configuraciones de parámetros se conocen como funciones de reenvío X11. De esta manera, puedes mostrar la interfaz gráfica de usuario (GUI) del sistema remoto en el sistema local. Debes habilitar esta opción en el servidor mientras te conectas con la opción -X al cliente SSH.

Después de realizar los cambios, guarda el archivo y ciérralo presionando CTRL-X e Y y luego presiona Enter. Si cambias la configuración en /etc/ssh/sshd_config, debes reiniciar el servidor sshd para aplicar el cambio:

Para sistemas systemd como Ubuntu 16.04 o Debian Jessie, usa este comando:

Prueba tus cambios a fondo para asegurarte de que todo funcione perfectamente. Probablemente deberías mantener algunas sesiones activas si realizas algún cambio. De esta manera, puedes restaurar la configuración si es necesario.

¿Cómo se inicia sesión en SSH con claves? Es bueno iniciar sesión en un sistema remoto con una contraseña. Sin embargo, lo mejor es configurar la autenticación basada en claves.

¿Qué es la autenticación basada en claves?

La autenticación basada en claves crea dos pares de claves llamadas clave privada y clave pública. La clave privada se encuentra en la computadora del usuario y ha sido protegida y mantenida en secreto. La clave pública puede ponerse a disposición de cualquiera o almacenarse en cualquier servidor al que desee acceder. Si intenta conectarse utilizando un par de claves, el servidor utiliza la clave pública para generar un mensaje para la computadora del usuario. El usuario solo puede leer el mensaje utilizando una clave privada. La computadora del usuario envía una respuesta de vuelta al servidor y el servidor sabe que el usuario es auténtico. Después de configurar la clave, todo el proceso se completa automáticamente en segundo plano.

Cómo crear claves SSH

Las claves SSH deben generarse en la computadora desde la que desea iniciar sesión. Por lo general, esta es su computadora local. Ingrese lo siguiente en la línea de comandos:

A continuación, acepte los valores predeterminados presionando la TECLA ENTER. Generará sus claves en ~/.ssh/id_rsa.pub y ~/.ssh/id_rsa. Luego, escriba el siguiente comando para cambiar al directorio .ssh:

Estos son los permisos de los archivos:

list files in .ssh folder

Como puede ver, solo el propietario puede leer y escribir el archivo id_rsa. Por lo tanto, debe mantenerlo seguro. Sin embargo, puede compartir el archivo id_rsa.pub y tener los permisos adecuados para esta actividad. El siguiente paso es transferir la clave pública al servidor utilizando esta sintaxis:

Esto inicia una sesión SSH y debe usar una contraseña para la autenticación. Después de ingresar la contraseña, su clave pública se copiará en el archivo de claves autorizadas del servidor para que pueda iniciar sesión la próxima vez sin contraseña.

Cómo desactivar la autenticación por contraseña

Si se genera una clave SSH, puede mejorar la seguridad del servidor desactivando la autenticación solo por contraseña. Puede iniciar sesión en el servidor utilizando la clave privada con la clave pública instalada en el servidor en lugar de utilizar la consola.

Nota: ¡Asegúrese de haber instalado la clave pública en el servidor antes de continuar con este paso. De lo contrario, quedará bloqueado!

Abra el archivo de configuración de sshd usando este comando:

Busque y descomente la línea que dice PasswordAuthentication eliminando el # al principio. Luego puede cambiar el valor a “no”:

PubkeyAuthentication y ChallengeResponseAuthentication están configuradas por defecto y deberían verse así:

No debe cambiar estas dos configuraciones. Después de eso, guarde el archivo y ciérrelo una vez que realice los cambios. A continuación, use el siguiente comando para reiniciar el demonio SSH:

Finalmente, ha desactivado la autenticación por contraseña y solo se puede acceder a su servidor mediante la autenticación de clave SSH.

Conclusión

En este tutorial, le hemos mostrado cómo usar SSH para conectarse a un servidor remoto de forma segura en Ubuntu. Aprender a usar SSH es fundamental si es un  administrador de sistemas, por lo que después de dominar este tutorial puede continuar con funcionalidades más avanzadas de SSH.

¡Feliz computación!

 

author

Akshay Nagpal

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.