¿Dónde se configura el servidor SSH?
/etc/ssh/sshd_config
¿Qué hace la directiva Port en sshd_config?
Define el puerto en el que escucha SSH (por defecto 22)
¿Para qué sirve ListenAddress?
Especifica la IP en la que el servidor SSH escucha conexiones
¿Qué hace PermitRootLogin no?
Impide que el usuario root se conecte por SSH
¿Qué hace PasswordAuthentication no?
Desactiva la autenticación por contraseña (solo claves)
¿Para qué sirve AllowUsers?
Limita qué usuarios pueden conectarse por SSH
¿Para qué sirve AllowGroups?
Permite solo a ciertos grupos acceder por SSH
¿Qué hace ClientAliveInterval 300?
Envía señales cada 300s para mantener o cerrar sesiones inactivas
¿Dónde se configura el cliente SSH?
En /etc/ssh/ssh_config o ~/.ssh/config
Fichero que guarda las claves públicas autorizadas para acceder
~/.ssh/authorized_keys
Fichero que guarda las huellas (fingerprints) de servidores conocidos
~/.ssh/known_hosts
Que fichero contiene las claves privadas del servidor (identidad del host)
/etc/ssh/ssh_host_*_key
Genera pares de claves pública/privada
ssh-keygen
Muestra el fingerprint de la clave pública
ssh-keygen -l -f archivo.pub
Copia tu clave pública al servidor remoto
ssh-copy-id
Guarda claves en memoria para no introducir passphrase cada vez
ssh-agent
Añade una clave privada al agente SSH
ssh-add
Obtiene claves públicas de servidores (para known_hosts)
ssh-keyscan
Abre una sesión remota interactiva
ssh user@host
Ejecuta un comando remoto sin abrir shell interactiva
ssh user@host comando
Conecta a un puerto distinto del 22
ssh -p puerto user@host
Habilita agent forwarding (reenviar credenciales)
ssh -A
Tunel SSH
Crea un túnel local (local → remoto)
ssh -L
Ej: ssh -L 8080:localhost:80 user@host
Tunel SSH
Crea un túnel remoto (remoto → local)
ssh -R