Cómo conectarse a un servidor VPS de forma remota con SSH desde una terminal Linux

1 mar 2021 4 min di lettura
Cómo conectarse a un servidor VPS de forma remota con SSH desde una terminal Linux
Indice dei contenuti

Introducción

SSH es una herramienta esencial para dominar como administrador de sistemas.

SSH, o Secure Shell, es un protocolo que se utiliza para iniciar sesión de forma segura en sistemas remotos. Es la forma más común de acceder a servidores remotos Linux y similares a Unix.

En esta guía, analizaremos cómo usar SSH para conectarse a un sistema remoto.

Sintaxis básica

La herramienta en Linux para conectarse a un sistema remoto a través de SSH se llama ssh.

La forma más simple del comando es:

ssh remote_host

El host remoto ( remote_host ) en este ejemplo es la dirección IP o el nombre de dominio al que está intentando conectarse.

Este comando asume que su nombre de usuario en el sistema remoto es el mismo que su nombre de usuario en su sistema local.

Si su nombre de usuario es diferente en el sistema remoto, puede especificarlo usando esta sintaxis:

ssh remote_username@remote_host

Después de conectarse al servidor, es probable que se le solicite que verifique su identidad proporcionando una contraseña.

Para cerrar la sesión local, simplemente escriba:

exit

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Configurar el acceso SSH sin contraseña

Para configurar un inicio de sesión SSH sin contraseña en Linux, todo lo que necesita hacer es generar una clave de autenticación pública y agregarla al ~/.ssh/authorized_keys

Los siguientes pasos describirán el proceso de configuración de inicio de sesión SSH sin contraseña.

Antes de generar un nuevo par de claves SSH, verifique si ya existe una clave SSH en la computadora cliente para evitar sobrescribir las claves existentes.

Ejecute el siguiente comando ls para ver si hay claves SSH existentes:

ls -al ~/.ssh/id_*.pub

Si hay claves existentes, puede usarlas y omitir el siguiente paso o hacer una copia de seguridad de las claves antiguas y generar una nueva.

Si recibe alguno de los siguientes mensajes de salida, significa que no tiene una clave SSH y puede continuar con el siguiente paso y generar una nueva.

No such file or directory

O:

no matches found

El siguiente comando generará un nuevo par de claves SSH de 4096 bits con su dirección de correo electrónico como comentario:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Presione Enter para aceptar la ruta y el nombre de archivo predeterminados:

Enter file in which to save the key (/home/tuo_username/.ssh/id_rsa):

A continuación, la ssh-keygen le pedirá que escriba una frase de contraseña segura. Si desea usar la frase de contraseña depende de usted, si elige usar la frase de contraseña, obtendrá una capa adicional de seguridad. En la mayoría de los casos, los desarrolladores y administradores de sistemas usan SSH sin una frase de contraseña porque son útiles para procesos completamente automatizados. Si no desea utilizar la frase de contraseña, presione Enter.

Enter passphrase (empty for no passphrase):

Para asegurarse de que se generen las claves SSH, puede enumerar sus nuevas claves privadas y públicas con el siguiente comando:

ls ~/.ssh/id_*

Debería recibir un mensaje de salida similar al siguiente

/home/yourusername/.ssh/id_rsa /home/tuo_username/.ssh/id_rsa.pub

Ahora que ha generado un par de claves SSH, para acceder a su servidor sin una contraseña necesita copiar la clave pública, que acaba de generar, en el servidor que desea administrar.

La forma más sencilla de copiar la clave pública al servidor es usar un comando llamado ssh-copy-id. En la terminal de la computadora local, escriba:

ssh-copy-id remote_username@server_ip_address

Se le pedirá que ingrese la contraseña de remote_username

remote_username@server_ip_address's password:

Una vez que el usuario esté autenticado, la clave pública se agregará al authorized_keys y se cerrará la conexión.

Si por alguna razón la ssh-copy-id no está disponible en su computadora local, puede usar el siguiente comando para copiar la clave pública:

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Después de completar los pasos anteriores, debería poder iniciar sesión en el servidor remoto sin que se le solicite una contraseña.

Para probarlo, intente iniciar sesión en su servidor a través de SSH:

ssh remote_username@server_ip_address

Si todo salió bien, iniciará sesión inmediatamente.

Deshabilitar la autenticación de contraseña SSH

Para agregar una capa adicional de seguridad al servidor, puede deshabilitar la autenticación de contraseña para SSH.

Antes de deshabilitar la autenticación de contraseña SSH, asegúrese de que puede iniciar sesión en el servidor sin una contraseña y el usuario con el que inicia sesión tiene privilegios sudo.

Inicie sesión en su servidor remoto con claves SSH, ya sea como usuario con privilegios de root o sudo:

ssh sudo_user@server_ip_address

Abra el archivo de configuración SSH /etc/ssh/sshd_config, busque las siguientes directivas y edite de la siguiente manera:

PasswordAuthentication no
 ChallengeResponseAuthentication no
 UsePAM no

Cuando termine, guarde el archivo y reinicie el servicio SSH.

En servidores Ubuntu o Debian, ejecute el siguiente comando:

sudo systemctl restart ssh

En servidores CentOS o Fedora, ejecute el siguiente comando:

sudo systemctl restart sshd

Conclusión

En este tutorial, ha aprendido cómo conectarse a un servidor remoto con el terminal y cómo configurar la autenticación basada en claves SSH, que le permite iniciar sesión en su servidor remoto sin proporcionar una contraseña de usuario. Puede agregar la misma clave a varios servicios remotos.

También vimos cómo deshabilitar la autenticación de contraseña SSH y agregar una capa adicional de seguridad a su servidor.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.