Conexiones Remotas - SSH
Dominando SSH - Asegurando Nuestras Conexiones Remotas
1. ¿Qué es SSH y Por Qué es Importante?
SSH (Secure Shell) es un protocolo y programa de red que proporciona una manera segura de acceder y administrar sistemas remotos a través de una red no segura como Internet. Imagina SSH como un túnel blindado a través del cual puedes enviar información de forma segura, similar a un canal diplomático seguro entre dos países.
2. Funcionalidades Principales:
- Conexión Remota Segura
-
Reemplaza protocolos inseguros como Telnet y rsh
-
Toda la comunicación está cifrada de extremo a extremo
-
Protege contra ataques de interceptación y manipulación
-
Ejemplo de conexión básica
ssh [email protected]
-
- Transferencia Segura de Archivos
-
Comandos SCP (Secure Copy) y SFTP (SSH File Transfer Protocol)
-
Mantiene la integridad de los archivos durante la transferencia
-
Copiar archivos de forma segura
scp archivo.txt usuario@servidor:/destino/ sftp usuario@servidor
-
-
Túneles y Reenvío de Puertos
-
Permite crear conexiones seguras para otros servicios
-
Útil para acceder a servicios internos de forma segura
-
Crear un túnel SSH:
ssh -L 8080:localhost:80 usuario@servidor
-
2. Ventajas de Usar SSH:
-
Seguridad Robusta
- Cifrado fuerte (AES, ChaCha20)
- Verificación de integridad
- Protección contra ataques de intermediarios (man-in-the-middle)
-
Autenticación Flexible
-
Contraseñas
-
Claves públicas/privadas
-
Autenticación de dos factores
-
Generar par de claves para autenticación:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
-
-
Gestión de Sistemas
-
Ejecución remota de comandos
-
Automatización de tareas
-
Administración de servidores
-
Ejecutar comando remoto:
ssh usuario@servidor "df -h"
-
3. Casos de Uso Comunes:
-
Desarrollo de Software
-
Acceso a servidores de desarrollo
-
Despliegue de aplicaciones
-
Integración continua
-
Acceder al servidor de desarrollo:
ssh dev@servidor-desarrollo
-
-
Administración de Sistemas
- Mantenimiento de servidores
- Monitorización
- Respuesta a incidentes
- Monitorizar recursos:
ssh admin@servidor "top -n 1"
-
Transferencia Segura de Datos
-
Respaldos seguros
-
Sincronización de archivos
-
Compartir archivos confidenciales
-
Realizar backup remoto
rsync -avz -e ssh /local/datos/ servidor:/backup/
-
4. Consideraciones de Seguridad:
-
Mejores Prácticas
-
Usar claves SSH en lugar de contraseñas
-
Mantener actualizado el software SSH
-
Configurar correctamente los permisos
-
Configurar permisos seguros
chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa
-
-
Configuración Segura
-
Deshabilitar acceso root directo
-
Limitar intentos de autenticación
-
Usar puertos no estándares
-
Editar configuración SSH
sudo nano /etc/ssh/sshd_config
-