
Auf meinem Client habe ich einen SSH-Agenten eingerichtet und die folgende Beispielkonfiguration
Host gitserver
Hostname gitserver.example.com
ForwardAgent yes
User git
IdentityFile C:\Users\user\.ssh\id_rsa.pub
IdentitiesOnly yes
Wie kann ich auf dem ersten Hop-Server, über den ich meinen Agenten weiterleiten möchte, die Weiterleitung richtig nutzen, ohne alle Identitäten meines SSH-Agenten mit roher Gewalt zu überprüfen, ohne eine too many authentication failures
Fehlermeldung zu erhalten?
Ich kann es zum Laufen bringen, wenn ich den SSH-Agenten auf 5 oder weniger Schlüssel beschränke, da dies innerhalb der zulässigen Anzahl von Authentifizierungsversuchen liegt. Wenn ich versuche, den gitserver
Host-Alias auf dem Server zu verwenden, weiß dieser nicht, was er mit der SSH-Konfiguration des Clients meint.
Muss ich für diesen Host eine ordnungsgemäße SSH-Konfiguration auf dem Server eingerichtet haben?
Es muss eine portablere Option geben, als jeden Server konfigurieren zu müssen, mit dem ich die Agentenweiterleitung verwenden möchte.
Ich glaube nicht, dass dies ein Windows-spezifisches Problem ist, da es IdentitiesOnly yes
mit größeren Schlüsselspeichern im SSH-Agenten einwandfrei funktioniert. Es scheint ein Problem mit der Weiterleitung der richtigen Informationen an den ersten Hop-Server zu sein. Ich hoffe, meine Frage ist klar genug, um mein Problem zu verstehen.
Antwort1
Zunächst möchte ich mich entschuldigen, wenn es so klingt, als würde ich Annahmen treffen, denn es ist nicht meine Absicht, die Intelligenz von irgendjemandem zu beleidigen.
Ich bin mir auch nicht ganz sicher, ob ich Ihr Problem vollständig verstehe, aber da es bisher keine anderen Antworten gibt, dachte ich, ich versuche es einfach mal.
Ohne weitere Informationen zu Ihrer Netzwerk- und DNS-Konfiguration ist es leider schwierig, das Problem genau zu ermitteln.
Aus diesem Grund werde ich hier einfach ein paar Vorschläge und Ressourcen auflisten, die Sie nutzen können (natürlich nur, wenn sie für Sie relevant sind).
Erstens: Wenn sich die betreffenden Maschinen derzeit nicht in einer Domäne befinden, würde ich in Erwägung ziehen, den FQDN in der Einstellung „Hostname“ durch die IP-Adresse der Maschine zu ersetzen (wie im folgenden Beispiel).
Host Hostname
Hostname 192.168.0.250
ForwardAgent yes
User username
IdentityFile C:\Users\username\.ssh\id_rsa
Sie können auch den Befehl "ssh-add -L"-Befehl, um zu bestätigen, dass Ihr SSH-Agent ausgeführt wird und Ihre Schlüssel enthält.
Weitere Informationen/Einzelheiten zum oben genannten Befehl erhalten Sie, indem Sie dem folgenden Link folgen.
https://superuser.com/a/1141035
Zum Ausführen von OpenSSH Agent Forwarding unter Windows möchten Sie möglicherweise die folgenden Artikel lesen, da darin einige wichtige Schritte enthalten sind, die speziell für Windows 10/11 gelten.
https://richardballard.co.uk/ssh-keys-on-windows-10/
http://blog.zencoffee.org/2022/11/openssh-on-windows-11/
Abschließend sei darauf hingewiesen, dass die SSH-Agent-Weiterleitung bis vor relativ kurzer Zeit unter Windows 10 nicht wirklich unterstützt wurde.
Dennoch möchten Sie möglicherweise überprüfen, ob Ihre Windows- und OpenSSH-Versionen im Hinblick auf die SSH-Agent-Weiterleitungsfunktion kompatibel sind.
Ich hoffe, dass dies zumindest einigermaßen hilfreich ist.
Antwort2
Um jedoch Ihre Frage zu beantworten: Wenn Sie die Vor- und Nachteile durchlesen, scheint es, als ob eine Automatisierung möglicherweise nicht möglich ist.
Nachteile der SSH-Agent-Weiterleitung:
- Benutzer müssen sich zum Bereitstellen per SSH anmelden. Automatisierte Bereitstellungsprozesse können nicht verwendet werden.
- Die Ausführung der SSH-Agent-Weiterleitung kann für Windows-Benutzer problematisch sein.
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/managing-deploy-keys.