GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar y habilitar el servidor OpenSSH en CentOS 8 Linux

SSH significa Secure Shell. Como su nombre lo indica, SSH está diseñado para acceder al servidor o escritorio Shell en Windows, macOS, Linux (CentOS, Ubuntu y todos los demás) y otros sistemas operativos disponibles de forma remota. Es básicamente un protocolo de red, lo que significa establecer reglas para establecer una conexión segura y encriptada entre el cliente y el servidor.

El beneficio clave de usar SSH es una transmisión segura de datos a través de redes inseguras como Internet. Es realmente útil para conectar ordenadores remotos y acceder a ellos de forma segura a través de la línea de comandos. También podemos usarlo para transferir archivos a través de las redes escépticas. Esta es la razón por la que la mayoría de los centros de datos y los administradores de la nube lo utilizan para acceder a los servidores de forma remota.

Aquí mostraremos los pasos para instalar el servidor OpenSSH en CentOS 8 Linux. Este paquete de software utiliza SSH (protocolo Secure Shell) para proporcionar un canal seguro a través de la red en una arquitectura cliente-servidor.

Habilitar SSH en CentOS 8 Linux

Los pasos que se indican a continuación para la instalación del servidor OpenSSH funcionarán no solo en CetnOS 8, sino también en versiones anteriores, como 7 y 6.

1. Instalar servidor OpenSSH

Abra el terminal de comando en CentOS 8, si está utilizando la versión CLI, entonces ya está ahí. La instalación de OpenSSH es muy sencilla ya que ya se encuentra en el repositorio oficial de CentOS. Por lo tanto, un comando y estará en su máquina.

sudo dnf –y install openssh-server

El único comando instalará tanto el cliente OpenSSH como el daemon-sshd del servidor en el sistema.

2. Inicie el servicio SSH en CentOS

Después de la instalación, debemos comenzar el servicio de OpenSSH, de lo contrario, no podríamos acceder a él a través de ninguna herramienta cliente desde Windows, Linux u otros sistemas. Sin embargo, después de activarlo con éxito, podríamos conectarnos fácilmente y establecer una conexión segura. Por lo tanto, ejecute el siguiente comando:

Iniciar el demonio SSH del servidor OpenSSH:

sudo systemctl start sshd

En caso de querer detenerlo, el comando será

sudo systemctl stop sshd

3. Comprobar el estado de sshd

Saber tras iniciar el servicio SSH si está funcionando perfectamente o no. Ejecute el comando:

sudo systemctl status sshd

Verá un color verde "activo (en ejecución) ” texto en su pantalla que confirmará que todo está bien.

4. Habilite el servicio OpenSSH en el nivel de arranque

Si desea iniciar el SSH automáticamente cada vez que reinicie su sistema. Luego use el siguiente comando. Esto también asegurará que no necesite iniciarlo manualmente cada vez.

sudo systemctl enable sshd

Para deshabilitar en el futuro (comando de opciones) ejecute:

sudo systemctl disable sshd

5. Permitir cortafuegos del puerto 22

En caso de que, incluso después de realizar todos los pasos, no pueda acceder al servidor ssh desde el cliente debido a un firewall, entonces permítalo. Para permitir el puerto SSH 22 en CentOS 8 Linux ejecute:

firewall-cmd --zone=public --add-port=22/tcp --permanent

Reiniciar cortafuegos:

firewall-cmd --reload

6. Conéctate al servidor SSH

Para conectarse y acceder a CentOS a través de SSH, simplemente abra un símbolo del sistema en Windows o Terminal en Linux y escriba un comando en esta sintaxis:

ssh [correo electrónico protegido]

Por ejemplo- digamos que el nombre de usuario es raíz y la dirección del servidor es 192.168.0.12, entonces el comando será:

ssh [email protected]

Si ha cambiado el puerto predeterminado 22 a otra cosa entonces será:

ssh [correo electrónico protegido]:puerto

7. Cambie el puerto SSh predeterminado en CentOS 8/7 (opcional)

Por defecto el puerto usado por SSH es 22 , sin embargo, para mejorar la seguridad, puede cambiarlo por otro. Para esa edición SSHD archivo de configuración.

sudo vi /etc/ssh/sshd_config
  • Ahora, encuentra la línea #port 22
  • Presione Insertar tecla del teclado.
  • Eliminar # y cambie el sshd 22 puerto con otra cosa, digamos 5678
  • Para guardar el archivo, presione Esc tecla y luego escriba :wq

Reinicie el servicio sshd para marcar los cambios como efectivos.

 service sshd restart

Si recibe un error:

Redirecting to /bin/systemctl restart sshd.service
Job for sshd.service failed because the control process exited with error code.
See "systemctl status sshd.service" and "journalctl -xe" for details.

Esto significa que debe otorgarle permisos de SELinux informando que ha agregado un nuevo puerto para el servicio.

semanage port -a -t ssh_port_t -p tcp 5678

Nota :Reemplace el 5678 con el número de puerto que has introducido en el sshd archivo de configuración arriba

De nuevo, si recibe un error como:

ValueError: Port tcp/5678 already defined

Esto significa que el puerto que elige usar con el servicio SSH ya está asignado o reservado para algún otro servicio. Por lo tanto, cambie el número de puerto en el archivo de configuración y vuelva a ejecutar el comando semange port .

Una vez que lo haya agregado correctamente, compruebe qué puertos permite SELinux en su sistema para el servicio SSHD:

semanage port -l | grep ssh

Obtendrás algo como esto:

ssh_port_t tcp    5678, 22

Finalmente, tienes dos puertos para un solo servicio.

9. Bloquear el puerto 22 predeterminado de CentOS

Como tenemos dos puertos para un solo servicio de Secure Shell, podemos bloquear el predeterminado que es 22 para permanentemente. Esto aumentará la seguridad del sistema y nos permitirá usar solo un número de puerto personalizado para el servicio.

firewall-cmd --direct --add-rule ipv4 filter INPUT  -p tcp --dport 22 -j REJECT

Ahora, permita el número de puerto personalizado que ha creado en el firewall, aquí en nuestro caso, es 5678

firewall-cmd --add-port=5678/tcp --permanent
firewall-cmd --reload

Ahora no podrá conectarse a través de uno predeterminado y, si lo intenta, será a través de un error:ssh: connect to host 192.168.0.107 port 22: Connection refused

Para conectarse usando el puerto ssh personalizado, use esta sintaxis de comando:

ssh -p 5678 [email protected]

En el comando anterior 5678 es el número de puerto, así que reemplácelo con el que tiene.

Por ejemplo: 

ssh -p 5678 [email protected]

10. Deshabilitar inicio de sesión raíz (opcional)

Para escalar la seguridad del servidor a un nivel superior, puede deshabilitar el acceso de usuario raíz en SSH. Esto implica que uno puede acceder y controlar el servidor de forma remota utilizando solo usuarios que no sean root.

Vuelva a editar el archivo de configuración SSHD:

sudo vi /etc/ssh/sshd_config
  • Use las teclas de flecha y busque la línea:“PermitRootLogin=yes
  • Presione Insertar tecla en el teclado.
  • Cambie el valor "sí a no".
  • Presione Esc tecla y tipo- :wq
  • Pulsa Intro Clave
service sshd restart

11. Desinstalar OpenSSH

Para eliminarlo:

dnf remove openssh-server

Leer más:

  • Instalar y configurar VNC Server en CentOS 8
  • Cómo instalar la GUI en el servidor CLI mínimo de CentOS 8


Cent OS
  1. Cómo instalar un servidor DNS en RHEL 8 / CentOS 8 Linux

  2. Cómo reiniciar en CentOS Linux

  3. Cómo instalar o actualizar a PHP 7 en CentOS 7 Linux Server

  4. Cómo instalar GUI Gnome en el sistema CentOS 7 Linux

  5. Cómo instalar Erlang en Rocky Linux/Alma Linux/CentOS 8

Cómo instalar PostgreSQL en CentOS 8

Cómo instalar OpenSSH en Ubuntu 20.04

Cómo instalar el servidor OpenSSH en Alpine Linux

Cómo instalar la GUI en el servidor CentOS 8 / RHEL 8 Minimal Linux

Cómo instalar Memcaed en CentOS 8 Linux

Cómo habilitar el servicio SSH en Rocky Linux 8 / CentOS 8