Una frase de contraseña de clave SSH protege el archivo, no la ruta
La frase de contraseña cifra el archivo de clave privada; no revoca la identidad ni protege la ruta. Almacenamiento separado, vida del agente y uso sin supervisión.
Un disco de copia de seguridad de un portátil antiguo todavía contiene una clave privada SSH, y alguien pregunta si la VPN la protege. No lo hace, y nunca lo hizo. La VPN protege un camino entre dos redes; la frase de contraseña protege el archivo; el agente protege una sesión en marcha. Tres mecanismos distintos, tres modos de fallo distintos, y una copia robada solo se preocupa por los dos primeros.
La frase de contraseña pertenece al archivo
Una frase de contraseña de clave SSH cifra el material de la clave privada en reposo. No es la contraseña de la cuenta que se envía al servidor, ni es la credencial que se usa para unirse a la VPN. Confundirlas lleva a cambios que no abordan la exposición.
El manual de ssh-keygen de OpenSSH cubre el manejo de frases de contraseña, incluido el conmutador -p que establece una frase nueva en una clave que ya existe.
Para una clave existente la forma del comando es simple, y reescribe el archivo:
ssh-keygen -p -f ~/.ssh/id_ed25519
Use el proceso de mantenimiento y recuperación aprobado por el propietario de la clave, porque esto es una escritura, no una inspección. No publique el archivo privado ni ponga una frase de contraseña real en una línea de comandos compartida. Cambiar la frase no vuelve a cifrar una copia tomada antes. Anote la ubicación de la copia antigua en el ticket para que el propietario decida si destruirla.
Una copia sobrevive al portátil y al túnel
Una vez copiado un archivo de clave, la conexión VPN activa del portátil ya no dice nada sobre él. Lo que importa es lo bien protegido que está el propio archivo, y qué servidores siguen confiando en la clave pública correspondiente.
Cambiar la frase de contraseña del archivo actual no toca la copia, ni elimina la misma clave pública de authorized_keys en un servidor. La revocación y el recifrado son acciones separadas.
Así que trate una clave privada filtrada como un evento de identidad, no de red. Elimine o sustituya la clave aceptada mediante los servidores y el proceso de alta que la poseen. Detener la VPN limita una ruta en un momento dado; no es una revocación.
Desbloquear mueve el secreto a un agente
Un agente guarda identidades descifradas para autenticaciones posteriores, de modo que el usuario no reescribe la frase en cada conexión. Es una comodidad con su propia frontera de seguridad.
ssh-agent puede limitar cuánto tiempo una identidad permanece cargada mediante su opción -t, y un ajuste por identidad puede superar ese límite. Elija la política para el agente que realmente ejecuta en lugar de suponer que desconectar la VPN olvida cada clave cargada.
Un proceso comprometido después de desbloquear la clave es un problema distinto de un archivo cifrado robado. Reenviar el agente a otro host delega la capacidad de autenticación sin copiar el archivo de clave, así que actívelo solo para una necesidad aprobada.
Enumere lo que el agente tiene en este momento antes y después de un cambio:
ssh-add -l
Los trabajos sin supervisión necesitan su propio plan
Una tarea programada no puede responder a un aviso. Necesita un acuerdo aprobado de credenciales de máquina, y mantener el secreto de desbloqueo en el mismo directorio que la clave, legible por la misma cuenta, no crea una segunda frontera.
Trabaje con el propietario del servicio en la entrega de secretos admitida o el funcionamiento con hardware, y cubra renovación, fallo y recuperación. Querer a una persona frente al teclado cambia el aspecto del fallo en comparación con un host que arranca sin nadie mirando.
Mantenga también la comprobación de identidad del host en el servidor y sus restricciones de cuenta. Una ruta VPN le da un camino privado; no demuestra que cada escucha SSH al que llega sea el host que pretendía. Registre el escucha y la huella de la clave del host en el mismo inventario que la propia clave.
Verifique las fronteras por separado
Pruebe cada frontera con su propia pregunta. ¿Se abre el archivo sin la frase de contraseña? ¿Sigue el agente guardando la identidad tras una desconexión? ¿Sigue el servidor aceptando la clave pública?
Dos comandos responden la primera y la tercera:
ssh-keygen -y -f ~/.ssh/id_ed25519
ssh -v [email protected]
Registre la protección del archivo, el uso permitido de la clave y la eliminación en el lado del servidor como tres líneas separadas. Un túnel, una frase de contraseña y un agente guardan cada uno una parte distinta de la relación, y solo uno de ellos trata de la red.