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.