- Cómo deshabilitar el acceso root ssh en Debian 10 Buster
- Alternativas para asegurar su acceso ssh
- Filtrar el puerto ssh con iptables
- Usando envoltorios TCP para filtrar ssh
- Deshabilitar el servicio ssh
- Artículos relacionados
Cómo deshabilitar el acceso root ssh en Debian 10 Buster
Para deshabilitar el acceso de root de ssh necesita editar el archivo de configuración de ssh, en Debian es / etc / ssh / sshd_config
, para editarlo usando el editor de texto nano, ejecute:
En nano puedes presionar CTRL + W (donde) y tipo PermitRoot para encontrar la siguiente línea:
#PermitRootLogin prohibit-password
Para deshabilitar el acceso de root a través de ssh simplemente descomente esa línea y reemplace prohibir contraseña por No como en la siguiente imagen.
Después de deshabilitar el acceso de root, presione CTRL + X y Y para guardar y salir.
La prohibir contraseña La opción evita el inicio de sesión con contraseña permitiendo solo el inicio de sesión a través de acciones de respaldo, como claves públicas, evitando ataques de fuerza bruta.
Alternativas para asegurar su acceso ssh
Restrinja el acceso a la autenticación de clave pública:
Para deshabilitar el inicio de sesión con contraseña permitiendo solo iniciar sesión con una clave pública, abra el / etc / ssh / ssh_config
archivo de configuración de nuevo ejecutando:
Para deshabilitar el inicio de sesión con contraseña, permitiendo solo iniciar sesión con una clave pública, / etc / ssh / ssh_config archivo de configuración de nuevo ejecutando:
nano / etc / ssh / sshd_configEncuentra la línea que contiene PubkeyAuthentication y asegúrate de que diga sí como en el siguiente ejemplo:
Asegúrese de que la autenticación de contraseña esté deshabilitada al buscar la línea que contiene Autenticación de contraseña, si ha comentado, descomente y asegúrese de que esté configurado como No como en la siguiente imagen:
Entonces presione CTRL + X y Y para guardar y salir del editor de texto nano.
Ahora, como usuario al que desea permitir el acceso ssh, debe generar pares de claves públicas y privadas. Correr:
ssh-keygenResponda la secuencia de preguntas dejando la primera respuesta como predeterminada presionando ENTER, configure su contraseña, repítala y las claves se almacenarán en ~ /.ssh / id_rsa
Generando par de claves rsa públicas / privadas.
Ingrese el archivo en el que guardar la clave (/ root /.ssh / id_rsa):
Ingrese la frase de contraseña (vacío si no hay contraseña):
Su identificación se ha guardado en / root /.ssh / id_rsa.
Tu clave pública se ha guardado en / root /.ssh / id_rsa.pub.
La huella dactilar clave es:
SHA256: 34 + uXVI4d3ik6ryOAtDKT6RaIFclVLyZUdRlJwfbVGo root @ linuxhint
La imagen aleatoria de la clave es:
+---[RSA 2048]----+
Para transferir los pares de claves que acaba de crear, puede utilizar el ssh-copy-id comando con la siguiente sintaxis:
ssh-copy-idCambie el puerto ssh predeterminado:
Abre el / etc / ssh / ssh_config archivo de configuración de nuevo ejecutando:
nano / etc / ssh / sshd_config
Digamos que desea usar el puerto 7645 en lugar del puerto 22 predeterminado. Agregue una línea como en el siguiente ejemplo:
Entonces presione CTRL + X y Y para guardar y salir.
Reinicie el servicio ssh ejecutando:
reinicio de sshd de servicio
Luego, debe configurar iptables para permitir la comunicación a través del puerto 7645:
iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 7645
También puede usar UFW (firewall sin complicaciones) en su lugar:
ufw permite 7645 / tcp
Filtrar el puerto ssh
También puede definir reglas para aceptar o rechazar conexiones ssh de acuerdo con parámetros específicos. La siguiente sintaxis muestra cómo aceptar conexiones ssh desde una dirección IP específica usando iptables:
iptables -A ENTRADA -p tcp --dport 22 --fuenteiptables -A ENTRADA -p tcp --dport 22 -j DROP
La primera línea del ejemplo anterior indica a iptables que acepte solicitudes TCP entrantes (INPUT) al puerto 22 desde IP 192.168.1.2. La segunda línea indica a las tablas de IP que eliminen todas las conexiones al puerto 22. También puede filtrar la fuente por dirección mac como en el siguiente ejemplo:
iptables -I ENTRADA -p tcp --dport 22 -m mac ! --mac-source 02: 42: df: a0: d3: 8f-j RECHAZAR
El ejemplo anterior rechaza todas las conexiones excepto el dispositivo con dirección mac 02: 42: df: a0: d3: 8f.
Usando envoltorios TCP para filtrar ssh
Otra forma de incluir direcciones IP en la lista blanca para conectarse a través de ssh y rechazar el resto es editando los directorios de hosts.negar y anfitriones.permitir ubicado en / etc.
Para rechazar todos los hosts, ejecute:
nano / etc / hosts.negar
Agrega una última línea:
sshd: TODOS
Presione CTRL + X e Y para guardar y salir. Ahora, para permitir hosts específicos a través de ssh, edite el archivo / etc / hosts.permitir, para editarlo ejecutar:
nano / etc / hosts.permitir
Agrega una línea que contenga:
sshd:
Presione CTRL + X para guardar y salir de nano.
Deshabilitar el servicio ssh
Muchos usuarios domésticos consideran que ssh es inútil, si no lo usas en absoluto, puedes eliminarlo o puedes bloquear o filtrar el puerto.
En Debian Linux o sistemas basados como Ubuntu, puede eliminar servicios usando el administrador de paquetes apt.
Para eliminar el servicio ssh, ejecute:
Presione Y si se le solicita para finalizar la eliminación.
Y eso es todo acerca de las medidas nacionales para mantener ssh seguro.
Espero que este tutorial le haya resultado útil, siga LinuxHint para obtener más consejos y tutoriales sobre Linux y redes.
Artículos relacionados:
- Cómo habilitar el servidor SSH en Ubuntu 18.04 LTS
- Habilite SSH en Debian 10
- Reenvío de puertos SSH en Linux
- Opciones de configuración comunes de SSH Ubuntu
- Cómo y por qué cambiar el puerto SSH predeterminado
- Configurar el reenvío SSH X11 en Debian 10
- Configuración, personalización y optimización del servidor SSH de Arch Linux
- Iptables para principiantes
- Trabajar con firewalls de Debian (UFW)