Localmente, encendí el agente SSH y agregué mi clave:
-
$ eval $(ssh-agent) Agent pid 80
-
$ ssh-add Identity added: /c/Users/...../.ssh/id_rsa (.....@........)
En mi ~/.ssh/config
tengo 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).