A tu guía le faltan algunos pasos y detalles importantes para estar completa, actualizada y segura en la gestión y configuración de SSH. Basándome en buenas prácticas y en las fuentes citadas, aquí tienes los pasos y mejoras sugeridos que podrías agregar o corregir: 1. Corrección de comandos y terminología nano /etc/init.d/ssh | este comando no se para que sirve El comando correcto para instalar el servidor SSH en Debian/Ubuntu es: sudo apt-get install openssh-server sudo systemctl stop ssh sudo systemctl start ssh No es shh-server ni openssh a secas. 2. Generación y uso seguro de claves SSH Incluye la recomendación de generar el par de claves si no existe, con: text ssh-keygen -t rsa -b 4096 Permite elegir ruta y contraseña para la clave privada (mejorando la seguridad). Ubicación para guardar la clave (por defecto en ~/.ssh/id_rsa y ~/.ssh/id_rsa.pub). Frase de contraseña (opcional, pero recomendable para proteger la clave privada con una capa extra de seguridad) 3. Copiado de clave pública al servidor El método más seguro y práctico es usando: text ssh-copy-id usuario@servidor Esto añade la clave pública a authorized_keys sin sobrescribir, evitando errores como el descrito en tu guía (el comando scp pone en riesgo de sobreescritura el archivo). Si quieres copiar manualmente, debe hacerse con el usuario correcto (no necesariamente root) y agregando (no reemplazando) en el archivo ~/.ssh/authorized_keys usando cat clave.pub >> ~/.ssh/authorized_keys. 4. Cambios en la configuración del servidor (sshd_config) sudo nano /etc/ssh/sshd_config Agrega recomendaciones de seguridad frecuentes: Cambia el puerto (Port) por defecto para reducir ataques automatizados. 3. Realizar los cambios necesarios Algunas opciones frecuentes de configuración: Cambiar el puerto SSH (por defecto es el 22): text Port 2222 Modifica PermitRootLogin a no o prohibit-password para impedir acceso de root por ssh. Configura PasswordAuthentication no cuando sólo uses claves, una vez verificado que puedes acceder por clave. Elimina la # inicial si la línea está comentada, y pon el número del puerto que elijas. Restringir acceso solo a ciertos usuarios: text AllowUsers usuario1 usuario2 Deshabilita PermitEmptyPasswords yes (debe ser no). Configura un timeout para sesiones inactivas (ejemplo: ClientAliveInterval 300). Si es un entorno de producción, opcionalmente agrega un mensaje de bienvenida personalizado con la directiva Banner. Recuerda reiniciar el servicio después de cualquier cambio: text sudo systemctl restart ssh o text sudo systemctl restart sshd (según la distro). 5. Configuración del directorio .ssh Asegúrate de que las permisos sean correctos: text chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys Los permisos inadecuados pueden hacer que ssh ignore las claves por motivos de seguridad. 6. Servicio SSH: administración básica Añade cómo verificar el estado, habilitar/deshabilitar el arranque: Ver estado: systemctl status ssh Habilitar: systemctl enable ssh Deshabilitar: systemctl disable ssh Iniciar/Parar: systemctl start ssh, systemctl stop ssh. 7. Creación y gestión correcta de usuarios Sugiere el uso preferente de adduser para crear usuarios, ya que useradd no crea por defecto el directorio home ni realiza una configuración básica completa. Al crear un usuario, asegúrate de crear manualmente el directorio .ssh y ajustar permisos, si usarás claves. 8. Acceso desde otros sistemas Menciona que para Android se suele usar apps como Termux o JuiceSSH, y que el puerto habitual en SSH es el 22, pero algunos servidores (como en Android) usan otros (ejemplo: 8022). 9. Conexión segura Recomienda siempre probar la conexión antes de cerrar la sesión de administrador, para no bloquearse fuera del servidor por configuraciones erróneas. Resumen de adiciones recomendadas Comando correcto de instalación. Generación de claves SSH antes de copiar la pública. Uso de ssh-copy-id para añadir clave pública sin sobrescribir. Recomendaciones de seguridad en sshd_config: cambiar puerto, desactivar acceso root, desactivar contraseñas, establecer timeout, etc.. Corrección y explicación sobre permisos de archivos y carpetas SSH. Administración del servicio SSH (systemctl, no solo /etc/init.d/ssh). Verificación de la configuración final y conexión de prueba. Sugerencias específicas según el sistema operativo y tipo de usuario. Si incorporas estas mejoras, tu guía cubrirá los aspectos esenciales y buenas prácticas para la instalación, configuración y uso seguro de SSH en Linux.
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter