Operaciones Fundamentales con SSH

Introducción a SSH

SSH (Secure Shell) es un protocolo de red que permite administrar sistemas remotos y transferir datos de forma cifrada.

Funcionalidades principales

  • Administración remota: Control seguro de servidores locales o en la nube
  • Transferencia de archivos: Uso de SFTP/SCP para intercambio cifrado de datos
  • Túneles seguros: Creación de canales cifrados para acceso a servicios internos

Componentes de OpenSSH

  • ssh: Conexión remota segura
  • scp: Copia segura de archivos
  • sftp: Transferencia interactiva de ficheros
  • ssh-keygen: Generación de claves criptográficas
  • ssh-copy-id: Distribución de claves públicas

Uso Básico

Conexión a servidores remotos

Conexión estándar

ssh usuario@servidor.example
ssh admin@192.168.100.50

Puerto personalizado

ssh -p 2222 desarrollador@servidor-dev.com
ssh -p 4567 sysadmin@10.0.0.5

Opciones de diagnóstico

ssh -v tecnico@servidor-backup.net
ssh -vvv auditor@seguridad.local

Configuración de red

ssh -4 soporte@ipv4-only.com
ssh -6 investigador@ipv6-lab.edu
ssh -o ConnectTimeout=15 -o ServerAliveInterval=45 usuario@servidor-inestable.org

Métodos de autenticación

Autenticación por contraseña

Método predeterminado que solicita credenciales tras iniciar conexión

Autenticación por clave pública

  1. Generar par de claves: ``` ssh-keygen -t ed25519 -f ~/.ssh/clave_desarrollo
  2. Instalar clave pública: ``` ssh-copy-id -i ~/.ssh/clave_desarrollo.pub usuario@destino.com
    
    

Reenvío de Puertos

Técnica para redirigir tráfico de red a través de túneles SSH cifrados.

Reenvío local

# Acceso a servidor web interno
ssh -N -L 9080:servidor-interno:80 puente@firewall-corporativo.com

# Conexión a base de datos remota
ssh -f -N -o ConnectTimeout=20 -L 5433:bd-produccion:5432 dba@servidor-sql.com

Reenvío remoto

# Exponer servicio local externamente
ssh -f -N -R 8085:localhost:3000 -o ExitOnForwardFailure=yes dev@servidor-publico.net

# Compartir entorno de desarrollo
ssh -N -R 9005:localhost:4200 -o ServerAliveInterval=35 frontend@colaboracion.dev

Reenvío dinámico

# Proxy SOCKS para navegación
ssh -f -N -C -D 1085 proxy@servidor-seguro.eu

# Proxy compartido en red local
ssh -f -N -o GatewayPorts=clientspecified -D 0.0.0.0:1085 vpn@acceso-remoto.biz

Configuraciones avanzadas

# Entorno de desarrollo completo
ssh -f -N \
  -o TCPKeepAlive=yes \
  -L 6379:redis-server:6379 \
  -R 4200:localhost:4200 \
  desarrollador@entorno-integrado.dev

# Acceso a múltiples servicios
ssh -f -N \
  -o ConnectionAttempts=5 \
  -L 8888:monitor:80 \
  -L 15672:rabbitmq:15672 \
  administrador@servidor-acceso.com

Consideraciones de seguridad

# Restringir acceso a interfaz local
ssh -L 127.0.0.1:3307:bd-sensible:3306 dba@bastion-host.com

# Permitir acceso desde red (usar con precaución)
ssh -L 0.0.0.0:8081:aplicacion-web:80 webadmin@dmz-server.org

Etiquetas: SSH openssh seguridad redes tunelización

Publicado el 7-2 19:16