La mejor manera de gestionar un servidor es accediendolo remotamente. El protocolo ssh permite establecer conexiones remotas cifradas, resultando que las comunicaciones no sean interceptadas por terceros. Este artículo instala los paquetes necesarios para desplegar un servidor de ssh, con autenticación por contraseña, en una distribución Debian instalada con servicios mínimos, utilizando Openssh Server.
Shell seguro
El protocolo Ssh (o Secure SHell) permite el acceso remoto a un servidor por medio de un canal seguro. Toda la comunicación está cifrada.
SSH trabaja de forma similar a como se hace con telnet, siendo ambas aplicaciones con paradigma cliente-servidor. Sin embargo SSH usa técnicas de cifrado que hacen que la información que viaja por el medio de comunicación vaya de manera no legible, evitando que terceras personas puedan descubrir el usuario y contraseña de la conexión, ni lo que se escribe durante toda la sesión.
Ssh permite inumerables funcionalidades, estas son algunas de ellas:
- Conexión a otros dispositivos
- Permite copiar datos de forma segura
- Simular sesiones FTP encriptadas
- Gestionar claves RSA
- Pasar los datos de cualquier otra aplicación por un canal seguro y poder tunelizar servicios mediante SSH
- Redirigir el tráfico del Sistema de Ventanas X para poder ejecutar programas gráficos remotamente.
Por defecto el puerto 22 esta asignado para SSH, y utiliza TCP.
A continuación, primero se instalara Openssh server, en una distribución Debian 10. Este otro artículo indica como hacerlo sobre un CentOS. Luego solo presenta la autenticación por contraseña. El lector puede revisar como conectarse utilizando el agente ssh en este otro artículo.
Instalar openssh server
Para instalar Openssh server ejecuto:
apt -y install openssh-server
Openssh con autenticación por contraseña
Sesiónes usuarios del sistema
Las conexiones mediante autenticación de contraseña quedan habilitadas de forma predeterminada. Los usuarios normales del sistema pueden autenticarse por contraseña.
Por el momento sin cambiar ninguna configuración, el servicio de ssh queda disponible para los usuarios del sistema.
Sesión remota de root
Por defecto para el root la autenticación mediante contraseña está deshabilitada.
Si por ejemplo se pretende prohibir (por completo) el inicio de sesión ssh al usuario root, basta con establecer [PermitRootLogin no] en /etc/ssh/sshd_config, del siguiente modo:
# Establecer "PermitRootLogin no" en el archivo /etc/ssh/sshd_config
sed -i '/PermitRootLogin prohibit-password/ cPermitRootLogin no' /etc/ssh/sshd_config
systemctl restart ssh # reinicio ssh