Comandos de Linux y habilidades de Shell
ssh: La conexión que ejecuta su infraestructura
ssh no es una conveniencia, es el transporte en el que se basa cada operación en cada servidor, y ~/.ssh/config es un contrato con su yo futuro a las 3 a. m. Los alias de host, las entradas de IdentityFile, los objetivos de ProxyJump y las configuraciones de keepalive convierten las sentencias de bandera recordadas en comandos de una sola palabra. Los túneles (-L, -R, -D) y la multiplexación ControlMaster son los que convierten 'un shell' en una superficie de comando de infraestructura, y ambos son trabajo de archivos de configuración, no de memoria.
Puntos clave
- Ponga todo en ~/.ssh/config: Alias de host con Usuario, IdentityFile, IdentitiesOnly sí, y ProxyJump hacen que 'ssh prod-web1' sea una palabra; una frase indicadora escrita de forma idéntica cinco veces al día es una entrada de configuración que falta.
- Las claves son el único juego: ssh-keygen -t ed25519 -C 'role@team', mitad pública para claves_autorizadas y no autenticación de contraseña en el servidor una vez que se demuestra que la rotación funciona.
- Los hosts de Jump se colapsaron en un solo indicador: ssh -J bastion.corp internal-host, o ProxyJump bastion.corp en el bloque Host; los viejos encantamientos de ProxyCommand todavía funcionan y ya no son trabajo de nadie.
- Los túneles son por propósito: -L 5432:db.internal:5432 para llegar a una base de datos, -D 1080 como un calce SOCKS a través de una red estricta, -R para exponer un cuadro de desarrollo local, cada uno vinculado a localhost a menos que lo amplíe explícitamente.
- La multiplexación de ControlMaster (ControlMaster auto, ControlPath ~/.ssh/cm-%r@%h:%p, ControlPersist 10m) detiene la repetición de apretones de manos en cada apertura y hace que las ventanas múltiples funcionen en un instante de host.
- Keepalives mantiene las sesiones a través de NAT y caídas de firewall inactivo: ServerAliveInterval 60 más ServerAliveCountMax 3 del lado del cliente supera los misteriosos informes de "la sesión murió a los 4 minutos" la mayor parte del tiempo.
- Restringe el acceso peligroso: -N (sin comando remoto) para reenvíos de puertos puros, -n para trabajos por lotes que leen desde stdin y fail2ban más MaxAuthTries sensatos para que la fuerza bruta muera en los registros en lugar de en las cuentas.
- El orden de depuración importa: ssh -vvv revela análisis de configuración, negociación de autenticación y fallas de canal en ese orden, y un volcado de host -G responde 'por qué eligió esa clave y ese usuario' sin tocar un servidor.
Nota de campo
Una vez deshabilité la autenticación de contraseña antes de que la nueva clave estuviera realmente en Authorized_keys y bloqueé a mi propio equipo por una noche. El ritual ahora: segunda sesión abierta, clave probada en funcionamiento y ServerAliveInterval en la configuración para que las caídas de NAT de bastión inactivo dejen de matar sesiones.
Preguntas frecuentes
En una oración cada uno: -L, -R, -D?
-L lleva un puerto local hacia un servicio remoto, -R empuja un puerto remoto hacia su máquina (sepa exactamente lo que expuso) y -D abre un proxy SOCKS dinámico a través de la conexión.
Mi sesión se interrumpe después de unos minutos de inactividad. ¿Arreglar?
Un tiempo de espera de inactividad en un NAT o firewall es la causa habitual: configure ServerAliveInterval en el cliente (y mantenga TCPKeepAlive sano en el servidor); la misma solución pertenece a la configuración que utiliza para los saltos de bastión al sótano.
¿Agente ssh o claves sin contraseña?
Agente, siempre: contiene claves descifradas por sesión para que las claves mantengan las frases de contraseña y la automatización permanezca no interactiva; ForwardAgent sí, en un bastión confiable está bien y ssh-add -l te dice qué está cargado antes de que te mientas a ti mismo.
¿Cómo dejo de volver a escribir las especificaciones del túnel?
Líneas LocalForward y RemoteForward dentro de los bloques Host: 'ssh dbtunnel' luego hace todo; una entrada por propósito mantiene el archivo legible y permite que las auditorías vean exactamente quién reenvía qué.
Cómo ayuda Kinetikatech con comandos de linux y habilidades de shell
Esto lo hemos resuelto cientos de veces: Los comandos y hábitos de secuencias de comandos que deciden si un administrador opera un servidor o lucha contra él: buscar, transformar, transferir y supervisar texto y procesos con las herramientas que se encuentran en cada instalación básica. Con Seguridad de servidores Linux y Gestión de servidores, obtiene el ciclo completo: evaluamos, implementamos, vigilamos las 24 horas y respondemos en 30 minutos cuando importa.