GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo administrar de forma remota un servidor Linux con SSH

SSH significa Secure Shell y es un protocolo que se utiliza para acceder de forma segura a un servidor remoto en una red local o Internet para configuración, administración, monitoreo y solución de problemas, etc.

En este artículo, voy a discutir cómo puede administrar un servidor Linux remoto con la ayuda de SSH.

He ejecutado todos los comandos en mis máquinas Debian 10.

Requisitos

Necesitas tener lo siguiente.

  1. Dos máquinas Debian 10 con privilegios de root.
  2. Una dirección IP, nombre de usuario y contraseña de la máquina remota.
  3. Conexión a Internet en ambas máquinas.

¿Cómo instalar un servidor SSH abierto?

Una vez que haya configurado una nueva máquina Linux en su infraestructura, es importante prepararla para el acceso remoto. Por lo tanto, es obligatorio instalar open ssh en un servidor o máquina remota a la que intenta acceder.

Antes de instalar un servidor SSH abierto, ejecute el siguiente comando para actualizar el repositorio.

apt-get update

Espere a que se complete la operación.

Después de actualizar el repositorio, ejecute el siguiente comando con privilegios de root para instalar un servidor SSH abierto.

apt-get install openssh-server

Cuando se le solicite confirmación, presione 'y' en el teclado y espere a que finalice la instalación. Esto puede tardar varios minutos en completarse.

Configuración de los ajustes del servidor SSH

Una vez que Open SSh se ha instalado en el lado del servidor, podemos editar sus ajustes de configuración básicos. Abra la terminal y ejecute el siguiente comando con privilegios de root.

nano /etc/ssh/sshd_config

El siguiente es el resultado de muestra.

Puede cambiar los diversos parámetros en el archivo anterior.

De manera predeterminada, SSH escucha en el puerto 22. Puede cambiar al puerto que desee. También puede cambiar las sesiones máximas (MaxSessions) que se pueden establecer con el servidor simultáneamente, 10 es el valor predeterminado.

Cambiar puerto SSH del servidor

Como hemos comentado, el servidor escucha en el puerto 22 de forma predeterminada. Si desea configurar su servidor para escuchar un puerto específico, este es el procedimiento.

Abra la terminal y ejecute el siguiente comando con privilegios de root.

nano /etc/ssh/sshd_config

Se debe abrir un archivo como se muestra en la captura de pantalla anterior.

Ubique el Puerto 22 o #Puerto 22 y escriba el número de puerto deseado sin el signo #.

Se recomienda utilizar el número de puerto entre 1024 y 65535 porque los puertos 0-1023 están reservados para servicios específicos.

Supongamos que para asignar 2222, escriba lo siguiente en el archivo de configuración de SSH.

Port 2222

A continuación se muestra la salida de muestra después de cambiar el número de puerto.

Reinicie el servicio SSH ejecutando el siguiente comando en la terminal.

service ssh restart

Habilitación del inicio de sesión raíz en el servidor SSH

De forma predeterminada, no puede iniciar sesión directamente en el servidor SSH con privilegios de raíz por motivos de seguridad. Si desea habilitar este inicio de sesión, debe realizar cambios en el archivo de configuración del servidor SSH.

Abra la terminal y ejecute el siguiente comando con privilegios de root para abrir el archivo de configuración.

nano /etc/ssh/sshd_config

Agregue la siguiente línea en el bloque de autenticación,

Permitir inicio de sesión raíz sí

A continuación se muestra el resultado de muestra después de realizar cambios en el archivo de configuración.

Reinicie el servicio SSH ejecutando el siguiente comando en la terminal con privilegios de root.

service ssh restart

Reducción de los intentos fallidos de inicio de sesión en el servidor SSH

De forma predeterminada, puede realizar 6 intentos para iniciar sesión en el servidor SSH. Una vez que el valor llega a la mitad de 6, se registran fallas de inicio de sesión adicionales. Si desea cambiar este valor, debe ajustar el parámetro MaxAuthTries en el archivo de configuración del servidor SSH.

Abra la terminal y ejecute el siguiente comando con privilegios de root.

Agregue la siguiente línea (suponga que desea establecer este valor en 1) en el bloque de autenticación.

MaxAuthTries 1

A continuación se muestra el resultado de muestra después de realizar cambios en el archivo.

Reinicie el servicio SSH ejecutando el siguiente comando en la terminal con privilegios de root.

service ssh restart

A continuación se muestra el resultado de muestra.

Después de una única falla de inicio de sesión, recibirá demasiados mensajes de fallas de autenticación como se muestra en la siguiente captura de pantalla.

Obligar al servidor SSH a escuchar IP específicas

Por defecto, el servidor SSH escucha todas las IP asignadas a su servidor SSH. Sin embargo, al realizar cambios en el archivo de configuración, puede obligar a su servidor SSH a escuchar direcciones IP específicas. Así es como.

Supongamos que tengo dos direcciones IP (10.1.1.2 y 10.1.1.3) asignadas a mi interfaz, como se muestra en la siguiente captura de pantalla. Quiero obligar a mi servidor a escuchar la dirección IP 10.1.1.2.

Abra la terminal y ejecute el siguiente comando con privilegios de root para abrir el archivo de configuración de SSH.

nano /etc/ssh/sshd_config

Agregue la siguiente línea en la parte superior del archivo,

ListenAddress 10.1.1.2

A continuación se muestra el resultado de muestra después de realizar cambios en el archivo de configuración.

Reinicie el servicio SSH ejecutando el siguiente comando en la terminal.

reiniciar servicio ssh

Permitir o denegar a usuarios o grupos específicos iniciar sesión en el servidor SSH

De forma predeterminada, todos los usuarios pueden iniciar sesión de forma remota en el servidor SSH. Sin embargo, puede permitir o denegar que usuarios o grupos específicos inicien sesión en el servidor SSH.

Abra la terminal y ejecute el siguiente comando con privilegios de raíz para abrir el archivo de configuración del servidor SSH.

nano /etc/ssh/sshd_config

A continuación se muestra el resultado de muestra.

Suponga que desea permitir que solo el usuario 'tony' inicie sesión de forma remota en el servidor SSH. Ningún otro usuario podrá iniciar sesión en el servidor SSH. Si tiene varios usuarios, deben estar separados por un espacio.

Agregue la siguiente línea en el archivo de configuración del servidor SSH.

AllowUsers tony

A continuación se muestra el archivo de configuración de muestra después de agregar la línea,

Reinicie el servicio SSH ejecutando el siguiente comando con privilegios de root en la terminal,

service ssh restart

De manera similar, si desea permitir que todos los usuarios se conecten de forma remota al servidor SSH pero desea denegar uno o más, agregue las siguientes líneas en el archivo de configuración del servidor. Los usuarios deben estar separados por comando. Supongamos que quiero denegar solo al usuario 'tony', agregue la siguiente línea en el archivo de configuración del servidor.

DenyUsers tony

A continuación se muestra el archivo de configuración de muestra después de agregar la línea anterior.

Reinicie el servicio SSH ejecutando el siguiente comando con privilegios de root en la terminal.

service ssh restart

De manera similar, puede permitir y denegar que grupos de usuarios inicien sesión en el servidor SSH agregando las siguientes líneas en el archivo de configuración.

AllowGroups <groupname>

o

DenyGroups <groupname>

Si tiene varios grupos para permitir o denegar, puede separarlos con un espacio.

La combinación de permitir y denegar se procesa en el siguiente orden.

DenyUsers, AllowUsers, DenyGroups y finalmente AllowGroups

Cambiar el tiempo de gracia de inicio de sesión

De manera predeterminada, tiene 2 minutos para iniciar sesión en un servidor remoto después de SSH. Si no puede iniciar sesión en un servidor remoto en 2 minutos, el SSH se desconectará. Así es como puede cambiar el tiempo de gracia de inicio de sesión.

Abra la terminal y ejecute el siguiente comando con privilegios de root para abrir el archivo de configuración del servidor.

nano /etc/ssh/sshd_config

A continuación se muestra el resultado de muestra.

Busque la siguiente línea,

#LoginGraceTime 2m

Reemplace esta línea con el tiempo de gracia deseado, digamos 1 minuto. La línea completa debe ser,

LoginGraceTime 1m

A continuación se muestra el archivo de configuración de muestra después de realizar los cambios.

Cierre el archivo y reinicie el servicio SSH emitiendo el comando de archivo.

service ssh restart

Cómo instalar el cliente OpenSSH

La máquina Debian 10 que va a acceder a una máquina o servidor remoto se llama cliente y necesitamos instalarle un "cliente SSH abierto".

Abre la terminal y ejecuta el siguiente comando para actualizar el repositorio.

apt-get update

Espere a que se complete la operación.

Tan pronto como se actualice el repositorio, ejecute el siguiente comando para instalar un cliente SSH abierto.

apt-get install openssh-client

Cuando se le solicite la confirmación, presione Y desde el teclado. La instalación puede tardar varios minutos, por lo tanto, sea paciente.

Ejecute el siguiente comando tanto en el cliente como en el servidor para confirmar que el servicio SSH se está ejecutando.

Una vez que tengamos SSH ejecutándose tanto en el cliente como en el servidor en una máquina remota, podemos continuar con la administración remota.

Conectarse a un servidor Debian 10 remoto con SSH

Para conectarse a la máquina Debian 10 remota, debe tener su dirección IP, nombre de usuario y contraseña.

La siguiente es la sintaxis completa del comando si su servidor SSH está escuchando en el puerto predeterminado 22.

ssh <[correo electrónico protegido]>

Se le pedirá una contraseña de usuario, proporcione la ayuda del teclado y presione Entrar.

Supongamos que el usuario es Tony y la dirección IP de la máquina remota es 10.1.1.2. Ejecute el siguiente comando en la terminal.

ssh [email protected]

A continuación se muestra el resultado de muestra.

Ahora debería estar conectado de forma segura como se muestra en la captura de pantalla anterior.

Sin embargo, si su servidor SSH está escuchando en algún otro puerto (supongamos que 2222). La sintaxis completa del comando debe ser la siguiente.

ssh -p dirección [email protected]

Supongamos que el usuario es Tony y la dirección IP de la máquina remota es 10.1.1.2. Ejecute el siguiente comando en la terminal.

ssh -p 2222 [email protected]

Conclusión

Así que ese fue el tutorial sobre la gestión remota de un servidor Linux con SSH. Espero que lo hayas disfrutado.


Debian
  1. Cómo usar SSH en Linux desde Android

  2. Cómo habilitar el servidor SSH en Ubuntu 22.04 Jammy Linux

  3. Cómo monitorear la seguridad del servidor Linux con Osquery

  4. Cómo configurar SSH sin contraseña en Linux

  5. ¿Cómo instalar Linux de forma remota a través de SSH?

Cómo administrar versiones de Nodejs con n en Linux

Cómo administrar el sistema de archivos de Linux en Ubuntu Server

Cómo administrar de forma remota el servidor Ubuntu con SSH

Cómo SSH al servidor a través de Linux

Cómo administrar el almacenamiento con GParted Linux

Cómo proteger SSH con Fail2Ban