GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar y habilitar el servidor SSH en Debian 10

Este tutorial se centra en instalar y configurar un servidor SSH en un servidor mínimo de Debian 10

SSH , para Secure Shell , es un protocolo de red que se utiliza para operar inicios de sesión remotos en máquinas distantes dentro de una red local o a través de Internet. Las arquitecturas SSH normalmente incluyen un servidor SSH que utilizan los clientes SSH para conectarse a la máquina remota.

Como administrador del sistema, es muy probable que utilice SSH a diario para conectarse a máquinas remotas en su red.

Como consecuencia, cuando se incorporan nuevos hosts a su infraestructura, es posible que deba configurarlos para instalarlos y habilitar SSH en ellos.

En este tutorial, veremos cómo puede instalar y habilitar SSH a través de OpenSSH. , en una distribución de Debian 10.

Requisitos

Para instalar un servidor SSH en Debian 10, deberá tener privilegios sudo en su host.

Para verificar si tiene privilegios de sudo o no, ejecute el siguiente comando

$ sudo -l

Si está viendo las siguientes entradas en su terminal, significa que tiene privilegios elevados

De forma predeterminada, la utilidad ssh debe instalarse en su host, incluso en configuraciones mínimas.

Para verificar la versión de su utilidad SSH, puede ejecutar el siguiente comando

$ ssh -V

Como puede ver, estoy ejecutando OpenSSH v7.9 con OpenSSL v1.1.1.

Tenga en cuenta que no significa que los servidores SSH estén instalados en mi host, solo significa que puedo conectarme a máquinas remotas como cliente usando la utilidad SSH.

También significa que las utilidades específicas relacionadas con el protocolo SSH (como scp, por ejemplo) o relacionadas con los servidores FTP (como sftp) estarán disponibles en mi host.

Instalación del servidor OpenSSH en Debian 10

En primer lugar, asegúrese de que sus paquetes estén actualizados ejecutando un comando de actualización

$ sudo apt-get update

Para instalar un servidor SSH en Debian 10, ejecute el siguiente comando

$ sudo apt-get install openssh-server

El comando debe ejecutar un proceso de instalación completo y debe configurar todos los archivos necesarios para su servidor SSH.

Si la instalación fue exitosa, ahora debería tener un servicio sshd instalado en su host.

Para verificar su servicio recién instalado, ejecute el siguiente comando

$ sudo systemctl status sshd

De manera predeterminada, su servidor SSH se ejecutará en el puerto 22.

Este es el puerto predeterminado asignado para comunicaciones SSH. Puede verificar si este es el caso en su host ejecutando el siguiente comando netstat

$ netstat -tulpn | grep 22

¡Estupendo! Su servidor SSH ya está funcionando en su servidor Debian 10.

Habilitar el tráfico SSH en la configuración de su cortafuegos

Si está utilizando UFW como firewall predeterminado en su sistema Debian 10, es probable que necesite permitir conexiones SSH en su host.

Para habilitar las conexiones SSH en su host, ejecute el siguiente comando

$ sudo ufw allow ssh

Habilitar el servidor SSH en el arranque del sistema

Como probablemente vio, su servidor SSH ahora se ejecuta como un servicio en su host.

También es muy probable que se le indique que se inicie en el momento del arranque.

Para verificar si su servicio está habilitado o no, puede ejecutar el siguiente comando

$ sudo systemctl list-unit-files | grep enabled | grep ssh

Si no se muestran resultados en su terminal, habilite el servicio y ejecute el comando nuevamente

$ sudo systemctl enable ssh

Configurando su servidor SSH en Debian

Antes de otorgar acceso a los usuarios a través de SSH, es importante contar con un conjunto de configuraciones seguras para evitar ser atacado, especialmente si su servidor se ejecuta como un VPS en línea.

Como ya vimos en el pasado, los ataques SSH son bastante comunes, pero se pueden evitar si cambiamos la configuración predeterminada disponible.

De forma predeterminada, sus archivos de configuración de SSH se encuentran en /etc/ssh/

En este directorio, encontrará muchos archivos de configuración diferentes, pero los más importantes son:

  • ssh_config :define las reglas SSH para los clientes. Significa que define reglas que se aplican cada vez que usa SSH para conectarse a un host remoto o para transferir archivos entre hosts;
  • sshd_config :define las reglas SSH para su servidor SSH. Se utiliza, por ejemplo, para definir el puerto SSH accesible o para impedir que usuarios específicos se comuniquen con su servidor.

Obviamente vamos a modificar la parte de todo el servidor de nuestra configuración SSH ya que estamos interesados ​​en configurar y asegurar nuestro servidor OpenSSH.

Cambiar el puerto predeterminado de SSH

El primer paso para ejecutar un servidor SSH seguro es cambiar el valor predeterminado asignado por el servidor OpenSSH.

Edite su archivo de configuración sshd_config y busque la siguiente línea.

#Port 22

Asegúrese de cambiar su puerto a uno que no esté reservado para otros protocolos. Elegiré 2222 en este caso.

Al conectarse a su host, si no se ejecuta en el puerto predeterminado, usted mismo especificará el puerto SSH.

Consulte la sección "Conectarse a su servidor SSH" para obtener más información.

Deshabilitar el inicio de sesión raíz en su servidor SSH

De forma predeterminada, el inicio de sesión raíz está disponible en su servidor SSH.

Obviamente, no debería ser el caso, ya que sería un completo desastre si los piratas informáticos iniciaran sesión como root en su servidor.

Si por casualidad deshabilitó la cuenta raíz en su instalación de Debian 10, aún puede configurar su servidor SSH para rechazar el inicio de sesión raíz, en caso de que elija volver a habilitar su inicio de sesión raíz algún día.

Para deshabilitar el inicio de sesión raíz en su servidor SSH, modifique la siguiente línea

#PermitRootLogin

PermitRootLogin no

Configurar la autenticación SSH basada en claves

En SSH, hay dos formas de conectarse a su host:mediante la autenticación de contraseña (lo que estamos haciendo aquí) o con un conjunto de claves SSH.

Si tiene curiosidad acerca de la autenticación SSH basada en claves en Debian 10, hay un tutorial disponible sobre el tema aquí.

Reiniciando su servidor SSH para aplicar los cambios

Para que se apliquen los cambios, reinicie su servicio SSH y asegúrese de que se reinicie correctamente

$ sudo systemctl restart sshd
$ sudo systemctl status sshd

Además, si cambia el puerto predeterminado, asegúrese de que los cambios se aplicaron correctamente ejecutando un comando netstat simple

$ netstat -tulpn | grep 2222

Conectándose a su servidor SSH

Para conectarse a su servidor SSH, utilizará el comando ssh con la siguiente sintaxis

$ ssh -p <port> <username>@<ip_address>

Si se está conectando a través de una red LAN, asegúrese de obtener la dirección IP local de su máquina con el siguiente comando

$ sudo ifconfig

Por ejemplo, para conectarme a mi propia instancia ubicada en 127.0.0.1, ejecutaría el siguiente comando

$ ssh -p 2222 <user>@127.0.0.1

Se le pedirá que proporcione su contraseña y que certifique que la autenticidad del servidor es correcta.

Salir de su servidor SSH

Para salir de su servidor SSH en Debian 10, puede presionar Ctrl + D o escribir 'cerrar sesión' y su conexión terminará.

Deshabilitar su servidor SSH

Para deshabilitar su servidor SSH en Debian 10, ejecute el siguiente comando

$ sudo systemctl stop sshd
$ sudo systemctl status sshd

A partir de ahí, ya no se podrá acceder a su servidor SSH.

Resolución de problemas

En algunos casos, puede encontrarse con muchos mensajes de error al intentar configurar un servidor SSH en Debian 10.

Esta es la lista de los errores comunes que puede obtener durante la configuración.

Debian:conexión SSH rechazada

Por lo general, recibe este error porque su firewall no está configurado correctamente en Debian.

Para resolver "Conexión SSH rechazada", debe verificar dos veces la configuración de su firewall UFW.

De forma predeterminada, Debian usa UFW como un firewall predeterminado, por lo que es posible que desee verificar las reglas de su firewall y ver si SSH está permitido correctamente.

$ sudo ufw status

Status: active
 
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere

Si está utilizando iptables, también puede verificar sus reglas de IP actuales con el comando iptables.

$ sudo iptables -L -n

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh

Si la regla no está configurada para SSH, puede configurarla ejecutando el comando iptables nuevamente.

$ sudo iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Debian:acceso SSH denegado

A veces, se le puede negar el acceso a su servidor SSH con este mensaje de error "Acceso SSH denegado" en Debian.

Para resolver este problema, depende del método de autenticación que esté utilizando.

Acceso de contraseña SSH denegado

Si está utilizando el método de contraseña, verifique dos veces su contraseña y asegúrese de ingresarla correctamente.

Además, es posible configurar servidores SSH para permitir solo un subconjunto específico de usuarios:si este es el caso, asegúrese de pertenecer a esa lista.

Finalmente, si desea iniciar sesión como root, asegúrese de haber modificado la opción "PermitRootLogin" en su archivo "sshd_config".

#PermitRootLogin

PermitRootLogin yes

Acceso a clave SSH denegado

Si está utilizando claves SSH para su autenticación SSH, es posible que deba verificar que la clave esté ubicada correctamente en el archivo "authorized_keys".

Si no está seguro de cómo hacerlo, siga nuestra guía sobre la autenticación de claves SSH en Debian 10.

Debian:no se puede localizar el paquete openssh-server

Para este, debe asegurarse de haber configurado correctamente sus repositorios APT.

Agregue la siguiente entrada a su archivo sources.list y actualice sus paquetes.

$ sudo nano /etc/apt/sources.list

deb http://ftp.us.debian.org/debian wheezy main

$ sudo apt-get update

Conclusión

En este tutorial, aprendió cómo puede instalar y configurar un servidor SSH en hosts Debian 10.

También aprendió acerca de las opciones de configuración básicas que deben aplicarse para ejecutar un servidor SSH seguro y sólido a través de una LAN o Internet.

Si tiene curiosidad acerca de la administración del sistema Linux, tenemos un montón de tutoriales sobre el tema en una categoría dedicada.


Debian
  1. Cómo instalar el servidor Redis en Debian 11

  2. Cómo instalar MySQL 8.0/5.7 en Debian 11/Debian 10

  3. Cómo instalar y configurar el servidor VNC en Debian 10

  4. Cómo instalar y configurar Squid Proxy en Debian 11

  5. Cómo instalar ProFTPD en Debian 8

Cómo instalar Puppet Server y Agent en Debian 11

Cómo instalar Todoman en el servidor Debian 11

Cómo instalar y configurar el servidor web Apache en Debian 11

Cómo instalar FastPanel en Debian 11

Cómo instalar I2P en el servidor Debian:

Cómo habilitar SSH en Debian 10 Buster