Verificar el entorno SSH_AUTH_SOCKes bueno para las conexiones ssh directas.
Si usa proxies ( proxy_command), es posible que tenga una conexión que se vea así:
local-> hostA-> hostB-> hostC->hostD
Si el reenvío de agente está activo en todos esos hosts, SSH_AUTH_SOCKse establecerá y "contendrá" su clave ssh localen todos los hosts.
Ahora suponga que el reenvío de agente está desactivado hostBpero activado hostC. SSH_AUTH_SOCKse activará hostDpero en realidad estará "vacío". Por supuesto, el agente se reenvía, pero solo de hostCa hostD. La cadena está rota.
Ahora para verificar si realmente la clave está disponible hostD, simplemente puede llamar ssh-add. Saldrá con el código 1 en cualquier caso, pero si la clave no está disponible, lo mostrará en stderr:
No se pudo abrir una conexión con su agente de autenticación.
Para que pueda verificar el SSH_AUTH_SOCKplus, asegúrese de que ssh_addno tenga salida.
ssh-find-agentscript para encontrar y usar los agentes ssh existentes, ¡muy útil! El repositorio tiene algunos ejemplos en el archivo README. Es posible que pueda detectar si ssh-agent está habilitado así, junto con la inspección de los archivos de configuración SSH, en lugar de mirar la salida SSH.