Zusätzliche Konfiguration für die Weiterleitung des SSH-Agenten erforderlich?

39833
Coderer

In diesem Handbuch wird erklärt, wie ssh-agent auf mehreren Systemen funktioniert. Ich würde gerne die Weiterleitung einrichten, wie in den letzten Diagrammen, aber ich habe Schwierigkeiten, die dafür erforderlichen Schritte zu finden.

Für einige Computer in meinem Netzwerk kann ich SSH von A nach B, dann von B nach C, ohne jemals ein Zertifizierungskennwort eingeben. Andere Maschinen geben jedoch ein "Konnte keine Verbindung zu Ihrem Authentifizierungsagenten herstellen" (manchmal!) Und leiten meine Authentifizierungsinformationen nicht weiter. Bei einem SSH-Vorgang von einem dieser Rechner auf ein anderes Feld im Netzwerk werden Sie erneut zur Eingabe meines Kennworts für den privaten Schlüssel aufgefordert.

Ich habe diese Maschinen nicht gebaut, aber ich kann einige von ihnen verwalten. Ich weiß nicht genau, was der Unterschied zwischen funktionierenden und nicht funktionierenden Boxen ist - ein Problem mit der Firewall, die Konfiguration von ssh / ssh-agent / sshd, irgendetwas, und ich sehe keine Schritte. Schritt-für-Schritt-spezifische Leitfäden für das Weiterleiten im Netz. Ich muss nur wissen, wo ich anfangen sollte, dieses Problem zu verfolgen.

20

2 Antworten auf die Frage

23
Gilles

Die Ssh-Agentenweiterleitung muss auf dem Client ( ForwardAgentOption in ~/.ssh/config) und auf dem Server ( AllowAgentForwardingOption in sshd_config) zulässig sein . Möglicherweise haben Ihre Maschinen unterschiedliche Standardeinstellungen für eine oder beide dieser Optionen.

Wenn Sie A-> B-> C verwenden, ist das Weiterleiten im Schritt B-> C nicht erforderlich (es sei denn, Sie gehen dann natürlich nach C-> D).

Wenn Sie bei B angemeldet sind, überprüfen Sie, ob die Umgebungsvariable definiert SSH_AUTH_SOCKist. Sein Wert ist ssh, wie man mit dem Agenten in Kontakt treten kann.

Es gibt keinen triftigen Grund, die Weiterleitung von Agenten auf dem Server zu verbieten, da die Weiterleitung der Agenten durch den Agenten anfällig für den Server ist und nicht umgekehrt, und dass Sie die Weiterleitung des Agenten grundsätzlich manuell einrichten können (obwohl es seitdem nicht so viel Sinn geben würde Die Schwierigkeit der Einrichtung würde den Punkt der Bequemlichkeit der Weiterleitung von Agenten zunichte machen.

Die gute Nachricht: Danke, dass Sie mich auf den richtigen Schlüssel hingewiesen haben. Die schlechte Nachricht: [Offensichtlich] (http://www.mail-archive.com/debian-ssh@lists.debian.org/msg04896.html) Dies ist ein bekannter Fehler in openssh-server. Es scheint an einem bestimmten Punkt behoben worden zu sein, aber ich glaube nicht, dass ich eine aktuelle Version ausführe - ich bekomme "schlechte Konfigurationsoption: AllowAgentForwarding", wenn ich versuche, sie zu aktivieren. Es sieht so aus, als ob es aus ist, mein Software-Loadout zu aktualisieren (wieder ...) Coderer vor 13 Jahren 0
@Coderer: Da die Agent-Weiterleitung standardmäßig aktiviert ist, sollte es ausreichen, alle `AllowAgentForwarding'-Zeilen aus` sshd_config` zu entfernen. Gilles vor 13 Jahren 0
@ Gilles Wenn jemand die Agentenweiterleitung für eine vorhandene Sitzung manuell einrichten wollte, wie würden sie das tun? Dies ist eine echte Notwendigkeit bei der Bereitstellung von Skripts, die mit kurzlebigen Maschinen wie AMIs verwendet werden, bei denen 'AllowAgentForwarding' deaktiviert ist. Andrew De Andrade vor 10 Jahren 0
@AndrewDeAndrade Bei einer vorhandenen Sitzung haben Sie Ihre Arbeit unterbrochen. Wenn Sie die Agent-Weiterleitung auch dann einrichten wollten, wenn sie auf dem Server deaktiviert ist, müssen Sie einen Unix-Socket über TCP weiterleiten. dies sollte mit netcat oder socat auf beiden seiten möglich sein. Gilles vor 10 Jahren 0
@Gilles Das ist die Schlussfolgerung, zu der ich auch gekommen bin. Ich habe herausgefunden, dass Sie auch spiped verwenden können. Dies ist zwar sicherer, erfordert aber einen symmetrischen Schlüsselaustausch, ist danach aber einfacher. Andrew De Andrade vor 10 Jahren 0
Die Antwort war ziemlich alt und die Antwort widerspricht den Kommentaren. Können wir eine aktualisierte Antwort haben? Stellen Sie die gleiche Frage erneut in http://superuser.com/questions/922003/ssh-agent-forwarding-is-not-working. Vielen Dank xpt vor 8 Jahren 0
14
Sandip Bhattacharya

Während Sie oben bereits die richtige Antwort von @Gilles erhalten haben, wollte ich darauf hinweisen, dass dies AllowAgentForwardingnur in OpenSSH 5.1 unterstützt wird.

OpenSSH-Server vor Version 5.1, wie ich sie in meiner RHEL 4u5-Box gesehen habe, erlauben standardmäßig die Weiterleitung von Agenten. Wenn Ihr Server älter als 5.1 ist und die Agent-Weiterleitung nicht funktioniert, liegt das Problem wahrscheinlich im ssh-Client. Da die Weiterleitung bei einigen Maschinen für Sie zu funktionieren scheint, scheint es, dass /etc/ssh/ssh_configdas Setup gut ist. Überprüfen Sie ~/.ssh/config, ob eine Ausnahme zum Deaktivieren der Agentenweiterleitung für die betroffenen Boxen besteht.

Ref: http://www.openssh.org/txt/release-5.1

Hallo Sandip, hast du eine Ahnung davon? http://superuser.com/questions/958978/libssh2-agent-forwarding-not-working?noredirect=1#comment1310009_958978 Niks vor 8 Jahren 0