Cómo habilitar SSH en CentOS

SSH es un protocolo ampliamente utilizado, utilizado principalmente por administradores de sistemas para iniciar sesión de forma segura en servidores remotos. Les permite el acceso a la línea de comandos para trabajar en el sistema remoto como si estuvieran sentados en el servidor. En esta publicación, describiremos cómo puede habilitar SSH en el sistema CentOS y conectarse a él mediante un cliente SSH. También describiremos cómo configurar el servidor SSH.

Para el sistema operativo Ubuntu, visite esta publicación para saber cómo habilitar SSH en Ubuntu.

Usar: Hemos demostrado el procedimiento enCentOS 8máquina.

Paso 1: Instalación del servidor OpenSSH

Primero, deberá instalar un servidor OpenSSH en la máquina a la que desea acceder de forma remota a través de SSH. Use el siguiente comando para instalar el servidor OpenSSH en su máquina CentOS:

$ sudo dnf install openssh-server

Enter sudo contraseña y luego verá que la instalación comenzó. prensaysi se le solicita confirmación.

Esto debería instalar el servidor OpenSSH en su sistema.

Paso 2: inicie SSH Daemon y verifique el estado

Ahora que se ha instalado SSH, puede iniciar su servicio. Use el siguiente comando para iniciar el demonio SSH:

$ sudo systemctl start ssh

Luego, para verificar si el demonio SSH se ha iniciado, use el siguiente comando:

$ sudo systemctl status sshd

Paso 3: permitir SSH a través del cortafuegos

Si el firewall está habilitado en su sistema CentOS, bloqueará el tráfico SSH entrante. Para permitir el tráfico SSH entrante, deberá agregar una regla en el firewall. El puerto predeterminado que usa SSH es el 22. Por lo tanto, la regla debería abrir el puerto 22.

Use el siguiente comando para permitir el tráfico SSH entrante en el puerto 22:

$ sudo firewall-cmd --permanent --add-port=22/tcp

Este comando agregará una regla en su firewall que permitirá el tráfico en el puerto 22. Si configuró SSH para un puerto que no sea el 22, asegúrese de usar ese puerto en la regla del firewall.

Paso 4: Pruebe el acceso SSH

Para probar si SSH está funcionando y puede conectarse, abra su máquina cliente. Esta máquina debe tener un cliente SSH. Si está utilizando un cliente CentOS, puede instalar el cliente SSH de la siguiente manera:

$ sudo dnf install openssh-clients

Aquí vamos a probarlo usando nuestra máquina cliente Ubuntu.

Para conectarse a un servidor SSH, necesitará una dirección IP y un nombre de usuario del sistema remoto:

$ ssh [email protected]_ip_address

Por ejemplo, en nuestro caso, la dirección IP de la máquina remota (donde está instalado el servidor SSH) era ?192.168.72.192? y el nombre de usuario era ?kbuzdar?, por lo que ejecutamos el comando:

$ ssh [email protected]

Usar: Si no sabe cómo encontrar la dirección IP de una máquina, visite esta publicación.

Una vez que se haya conectado al servidor SSH, le pedirá que ingrese la contraseña. Enter la contraseña y luego iniciará sesión en su sistema remoto. Ahora también notará que el aviso de la Terminal se ha cambiado para reflejar el nombre de usuario y el nombre del sistema del sistema remoto.

Configuración de SSH

El archivo de configuración de SSH se encuentra en/etc/ssh/sshd_config. Este archivo contiene diferentes opciones de configuración que puede cambiar según sus necesidades. Aquí veremos algunas opciones comunes que pueden necesitar modificaciones, por ejemplo, cambiar el puerto SSH predeterminado y la dirección de escucha, deshabilitar el inicio de sesión raíz, configurar sesiones máximas e intentos de contraseña, etc.

Para configurar o cambiar cualquier opción, deberá editar elsshd_confighora de oficina:

$ sudo nano /etc/ssh/sshd_config

Recuerde, después de cambiar cualquier configuración en elsshd_configarchivo, asegúrese de volver a cargar el servidor SSH para implementar los cambios:

$ sudo systemctl reload ssh

Cambio de puerto SSH

El SSH por defecto usa el puerto 22 para escuchar las conexiones entrantes. Si por alguna razón desea cambiar el puerto SSH, puede hacerlo editando elsshd_configfile y buscando una línea que diga:

# Port 22

Descomente la línea eliminando el hash (#) y el reemplazo22con el número de puerto que desea configurar para SSH.

Una vez hecho esto, guarde y close el archivo sshd_config.

Cambiar la dirección de escucha

De forma predeterminada, SSH escucha en todas las interfaces locales. Para configurar SSH para escuchar solo en una interfaz de red específica, edite elsshd_confighora de oficina:

$ sudo nano /etc/ssh/sshd_config

Busca la línea que dice:

#ListenAddress 0.0.0.0

Descomente la línea anterior y reemplace 0.0.0.0 con la dirección local en la que desea que SSH escuche.

Una vez hecho esto, guarde y close el archivo sshd_config.

Deshabilitar inicio de sesión raíz

Por defecto, elraízel usuario puede iniciar sesión mediante SSH. Esto está controlado por el parámetro PermitRootLogin en el archivo sshd_config que es “sí” de forma predeterminada, lo que significa que se permite el inicio de sesión raíz.

Para deshabilitar el inicio de sesión raíz, edite el archivo sshd_config:

$ sudo nano /etc/ssh/sshd_config

Busque la línea que dice:

# PermitRootLogin no

Quite el comentario (si está comentado) de la línea anterior y reemplace “no” por “sí” para deshabilitar el inicio de sesión raíz usando SSH.

Una vez hecho esto, guarde y close el archivo sshd_config.

Cambiar el número de sesiones permitidas e intentos de autenticación

De forma predeterminada, el número máximo de sesiones permitidas por conexión de red es 10. Se puede cambiar mediante elSesiones máximasparámetro en elsshd_configexpediente. Del mismo modo, el número máximo de intentos de autenticación para una sesión de inicio de sesión es 6, que se puede cambiar mediante elMaxAuthTriesparámetro.

Para cambiar la cantidad de sesiones permitidas por conexión de red, busque la línea que dice:

# MaxSessions 10

Descomente la línea anterior y reemplace su valor con el valor deseado.

Para cambiar la cantidad de intentos de autenticación permitidos por sesión de inicio de sesión, busque la línea que dice:

# MaxAuthTries 6

Descomente la línea anterior y reemplace su valor con el valor deseado.

Una vez hecho esto, guarde y close el archivo sshd_config.

Cambiar tiempo de gracia

Cuando te conectas al servidor SSH, te da 120 segundos (tiempo predeterminado) para completar tu autenticación usando un nombre de usuario y contraseña. Si no inicia sesión durante este tiempo, el servidor interrumpe la conexión y debe iniciar sesión nuevamente. Puede configurar este tiempo un poco más alto de lo que le lleva completar el inicio de sesión o configurarlo más bajo para evitar ataques DoS donde varias sesiones se mantienen abiertas durante mucho tiempo.

Para cambiar este tiempo, busque la línea que dice:

# LoginGraceTime 120

Descomente la línea anterior y reemplace su valor con el tiempo deseado (en segundos). Si no desea establecer ningún límite de tiempo, establezca su valor en 0.

Una vez hecho esto, guarde y close el archivo sshd_config.

En esta publicación, cubrimos cómo habilitar SSH en una máquina CentOS y conectarse a ella usando una máquina cliente. También analizamos varias opciones de configuración para el servidor SSH. Si desea que su acceso remoto sea seguro, visite nuestra publicación sobre las 11 mejores formas de proteger su servidor SSH.

Artículos Relacionados