Lokal habe ich den SSH-Agenten aktiviert und meinen Schlüssel hinzugefügt:
-
$ eval $(ssh-agent) Agent pid 80
-
$ ssh-add Identity added: /c/Users/...../.ssh/id_rsa (.....@........)
In meinem ~/.ssh/config
habe ich Folgendes:
Host example
User root
HostName 123.45.678.912
ForwardAgent yes
Sobald ich ausführe ssh example
, ist die Verbindung erfolgreich hergestellt und wenn ich eine Remote-Testverbindung zu GitHub herstelle, kann ich sehen, dass ich mit meinem weitergeleiteten Schlüssel authentifiziert bin:
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.
Gibt es eine Möglichkeit festzustellen,auf dem Remote-Rechner, ob die Agentenweiterleitung auch ohne eine solche Testverbindung funktioniert?
Diese Antworthabe die Verwendung vorgeschlagen $SSH_AGENT_PID
, aber es ist sowohl auf dem lokalen als auch auf dem Remote-Computer leer.
Antwort1
Wenn die Variable auf dem Server nicht gesetzt ist, bedeutet dies, dass die Agentenweiterleitung nicht funktioniert
Funktionierendes Weiterleitungsbeispiel.
$ echo "$SSH_AUTH_SOCK"
# Print out the SSH_AUTH_SOCK variable
> /tmp/ssh-6hNGMk10AZC/agent.89543
Nicht funktionierendes Beispiel
$ 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).