¿Cómo comprobar si el reenvío del agente SSH se está ejecutando desde el servidor remoto?

¿Cómo comprobar si el reenvío del agente SSH se está ejecutando desde el servidor remoto?

Localmente, encendí el agente SSH y agregué mi clave:

  1. $ eval $(ssh-agent)
    Agent pid 80
    
  2. $ ssh-add
    Identity added: /c/Users/...../.ssh/id_rsa (.....@........)
    

En mi ~/.ssh/configtengo esto:

Host example
    User root
    HostName 123.45.678.912
    ForwardAgent yes

Una vez que ejecuto ssh example, me conecto exitosamente y si hago una conexión de prueba remota a GitHub, puedo ver que estoy autenticado usando mi clave reenviada:

root@example:~# ssh -vT [email protected]
OpenSSH_8.2p1 Ubuntu-4ubuntu0.5, OpenSSL 1.1.1j  16 Feb 2021
...
debug1: Will attempt key: .....@........ RSA SHA256:abc123/123456abcdefghi/abcdefg12+abcdefghij agent
...
debug1: Offering public key: .....@........ RSA SHA256:abc123/123456abcdefghi/abcdefg12+abcdefghij agent
debug1: Server accepts key: .....@........ RSA SHA256:abc123/123456abcdefghi/abcdefg12+abcdefghij agent
debug1: Authentication succeeded (publickey).
...
Hi ......! You've successfully authenticated, but GitHub does not provide shell access.

¿Hay alguna manera de determinar,en la máquina remota, ¿si el reenvío de agentes funciona sin dicha conexión de prueba?

esta respuestasugirió usar $SSH_AGENT_PID, pero está vacío, tanto en la máquina local como en la remota.

Respuesta1

Si la variable no está configurada en el servidor, significa que el reenvío del agente no funciona

Ejemplo de trabajo de reenvío.

$ echo "$SSH_AUTH_SOCK"
# Print out the SSH_AUTH_SOCK variable
> /tmp/ssh-6hNGMk10AZC/agent.89543

Ejemplo que no funciona

$ echo "$SSH_AUTH_SOCK"
# Print out the SSH_AUTH_SOCK variable
> [No output]
$ ssh -T [email protected]
# Try to SSH to github
> Permission denied (publickey).

información relacionada