SSH (siglas de shell seguro) es un protocolo que se utiliza para acceder de forma segura a un sistema remoto. Es el protocolo más utilizado en los sistemas Linux para administrar, administrar y solucionar problemas de forma remota en los servidores remotos.
Este artículo trata sobre cómo conectarse de forma remota al servidor Linux a través de SSH. Usaremos la utilidad OpenSSH para la conexión remota a través de SSH.
Requisitos
Los siguientes son algunos requisitos previos que debe cumplir para la conexión remota a través de SSH:
- Dos máquinas Ubuntu (para servidor remoto y cliente)
- Usuario Sudo tanto en el servidor como en la máquina cliente
- Dirección IP o nombre de host del servidor remoto
- Número de puerto, nombre de usuario y contraseña del servidor remoto
Servidor Linux SSH
Para el sistema SSH Linux, los pasos a seguir son:
- Instalando OpenSSH en un servidor remoto
- Configuración de OpenSSH en un servidor remoto
- Instalación del cliente OpenSSH en la máquina del cliente local
- Acceso al servidor Linux remoto a través del cliente SSH
Paso 1:Instalación de OpenSSH en un servidor remoto
OpenSSH es una herramienta para conectar remotamente el sistema a través de SSH. Deberá instalarlo en el sistema al que desea acceder a través de SSH.
En el servidor remoto, abra la Terminal y emita el siguiente comando:
$ sudo apt update
Luego, para instalar el servidor OpenSSH, emita el siguiente comando en la Terminal:
$ sudo apt install openssh-server
Luego escriba sudo contraseña.
Cuando se le solicite confirmación, presione y , después de lo cual el sistema comenzará la instalación.
Paso 2:Configuración de OpenSSH en un servidor remoto
Una vez que se complete la instalación de OpenSSH, deberá realizar algunas configuraciones necesarias. El archivo de configuración de SSH es /etc/ssh/sshd_config . Para editar el archivo de configuración, ejecute el siguiente comando en la Terminal:
$ nano /etc/ssh/sshd_config
Así es como se ve el archivo de configuración de OpenSSH:
Antes de realizar cambios en este archivo, es mejor hacer una copia del archivo de configuración original usando el siguiente comando:
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
Solo configuraremos algunas de las opciones dejando el resto de opciones por defecto.
Cambiar puerto de escucha SSH
De forma predeterminada, OpenSSH se ejecuta en el puerto TCP 22. Sin embargo, si desea que el servidor OpenSSH escuche en algún otro puerto (entre los números de puerto 1024 y 65535), puede hacerlo de la siguiente manera:
Edite el /etc/ssh/sshd_config archivo de configuración:
$ sudo nano /etc/ssh/sshd_config
Localice 'puerto 22' en el archivo. Puede usar Ctrl+W para buscarlo.
Reemplazar 22 por el número de puerto que desea que escuche su servidor OpenSSH. Además, elimine el # símbolo antes de la línea.
Por ejemplo, para establecer el puerto de escucha de OpenSSH en 2244, la línea sería:
port 2244
Ahora guarde el archivo de configuración.
Habilitación del inicio de sesión raíz en el servidor SSH
De forma predeterminada, el inicio de sesión raíz está deshabilitado en el servidor OpenSSH, lo que significa que no puede iniciar sesión como usuario raíz. Si necesita iniciar sesión como usuario raíz en su servidor SSH remoto, deberá habilitar el inicio de sesión raíz en la configuración de Open SSH.
Edite el /etc/ssh/sshd_config archivo de configuración:
$ sudo nano /etc/ssh/sshd_config
Localice PermitRootLogin prohibir-contraseña y reemplácelo con la siguiente línea. Además, elimine el # símbolo antes de la línea.
PermitRootLogin yes
Ahora guarde el archivo de configuración.
Reducción del número de intentos de autenticación
De forma predeterminada, se permiten 6 intentos de autenticación para iniciar sesión en el servidor SSH. Puede reducir estos intentos de autenticación cambiando el valor del parámetro MaxAuthTries .
Por ejemplo, para reducir el número de intentos de autenticación a 3 , edite el /etc/ssh/sshd_config archivo de configuración:
$ sudo nano /etc/ssh/sshd_config
Luego busque MaxAuthTries y cambie su valor a 3 .
Además, elimine el # símbolo antes de la línea.
MaxAuthTries 3
Ahora guarde el archivo de configuración.
Permitir o denegar a ciertos usuarios el inicio de sesión en el servidor SSH
De forma predeterminada, todas las cuentas de usuario pueden iniciar sesión en el sistema remoto a través de SSH. Para permitir que solo ciertos usuarios inicien sesión en el servidor SSH, edite el /etc/ssh/sshd_config archivo:
$ sudo nano /etc/ssh/sshd_config
Luego agregue la siguiente línea en este archivo reemplazando user1 y usuario2 con el nombre de los usuarios que pueden iniciar sesión.
AllowUsers user1 user2
Ejemplo:
AllowUsers kbuzdar tin
La línea anterior permitirá que "kbuzdar" y "tin" inicien sesión a través de SSH.
De manera similar, para denegar el acceso de cualquier usuario al servidor SSH, agregue la siguiente línea en este archivo reemplazando user1 y usuario2 con el nombre de los usuarios que no pueden iniciar sesión.
DenyUsers user1 user2
La línea anterior permitirá que todos los usuarios, excepto 'john', inicien sesión a través de SSH.
Ahora, guarde el archivo de configuración.
Después de realizar cambios en el archivo de configuración, reinicie el servicio SSH con el siguiente comando:
$ sudo service ssh restart
Paso 3:Instalación del cliente OpenSSH en la máquina del cliente local
En la máquina cliente que quiere conectarse al servidor Linux a través de SSH, necesitaremos instalar la utilidad de cliente OpenSSH.
Para instalar el cliente OpenSSH, emita el siguiente comando en la Terminal de la máquina cliente:
$ sudo apt install openssh-client
Cuando se le solicite la contraseña, proporcione sudo contraseña.
Cuando se le solicite confirmación, presione y , después de lo cual el sistema comenzará la instalación. Una vez completada la instalación, estará listo para usar el cliente OpenSSH.
Paso 4:Acceder al servidor Linux a través del cliente SSH a través de LAN
A través del cliente OpenSSH, puede conectarse al servidor SSH a través de LAN utilizando la dirección IP o el nombre de host. En la máquina del cliente, use la siguiente sintaxis para conectar el servidor remoto a través de SSH:
$ ssh [username]@[remoteserver IP or hostname]
Cuando se le solicite la contraseña, ingrese la contraseña del usuario. Una vez que se establezca la conexión, verá el indicador de shell para el servidor remoto.
En nuestro caso, la IP del servidor remoto es '192.168.72.157' y el nombre de usuario es 'kbuzdar'. Por lo tanto, el comando sería:
$ ssh [email protected]
En caso de que haya cambiado el puerto de escucha de OpenSSH, el comando para conectarse al servidor SSH sería:
$ ssh -p [port_number] [username]@[ip_address]
Ejemplo:
$ ssh -p 2244 [email protected]
Acceso al servidor Linux a través del cliente SSH a través de Internet
Para conectar un servidor remoto a través de Internet, necesitará la IP pública del servidor remoto y también deberá configurar el reenvío de puertos en su enrutador. Estos son los pasos para usar un servidor remoto SSH a través de Internet:
1. Primero, deberá averiguar la dirección IP pública del servidor remoto. Para hacerlo, emita el siguiente comando en la terminal de la máquina remota:
$ curl ipaddr.pub
2. Ahora, deberá configurar el reenvío en el enrutador. La forma de configurarlo difiere de un enrutador a otro, pero casi todos los enrutadores le permiten hacer esto.
3. Una vez que encuentre la dirección IP pública de la máquina remota y configure el reenvío de puertos en el enrutador, use la siguiente sintaxis para la máquina Linux remota SSH:
$ ssh [username]@[public_ip_address]
En caso de que el servidor remoto esté configurado para usar un número de puerto diferente al 22, la sintaxis sería:
$ ssh -p [port_number] [username]@[public_ip_address]
Así es como puede SSH servidor Linux. Hemos explicado cómo SSH servidores Linux remotos usando la utilidad OpenSSH. También hemos discutido algunas configuraciones básicas que pueden resultarle útiles al conectarse a través de SSH. Ahora puede administrar fácilmente servidores Linux remotos para administración y solución de problemas.