Konfiguration für die Verwendung von Git über SSH auf dem Jump-Host

Konfiguration für die Verwendung von Git über SSH auf dem Jump-Host

Gibt es eine Möglichkeit, mit einem privaten Schlüssel, der nur auf einem Laptop (Alice) verfügbar ist, diesen Schlüssel für die Authentifizierung mit Gitlab von einem Server (Bob) aus zu verwenden? (Kleine Komplikation, denke ich, da es einen Jump-Host zwischen Alice und Bob gibt.)

Alice --> springen --> Bob --> Gitlab

Die ~/.ssh/config auf Alice ist derzeit:

Host *
  PKCS11Provider /usr/lib/ssh-keychain.dylib

Host jump
  HostName jump01.example.org

Host bob
  HostName bob.example.org
  ProxyJump jump

Ich habe den öffentlichen Schlüssel von Alices Token auf Gitlab und möchte ihn mit gitBefehlen von Bob verwenden. Wie in ...

alice:~ $ ssh bob
Last login: Fri Aug 27 20:33:56 2021
bob:~ $ git clone [email protected]:my/repo.git

wo ich kein Schlüsselpaar auf Bob habe.

Antwort1

Sie müssen über ein gewisses Vertrauen verfügen, das bobnicht missbraucht werden kann. Die einfache Antwort besteht jedoch darin, einen SSH-Agenten auszuführen und die Agentenweiterleitung zu verwenden.

Starten Sie einen Agenten auf alice, fügen Sie Ihren PKCS11Provider hinzu und ssh-add -Skonfigurieren Sie dann die Agentenweiterleitung in Ihrer Konfiguration.

Host bob
  ForwardAgent yes
  HostName bob.example.org
  ProxyJump jump

Weitere Informationen zu den PKCS11-Anbietern und zur Agentenweiterleitung finden Sie auf den Manpages für ssh-agent, ssh-add und ssh_config.

Kleine, denke ich, Komplikation, da es sich um einen Jump-Host handelt

Aufgrund der Funktionsweise von ProxyJump ist dies keine Komplikation und spielt buchstäblich überhaupt keine Rolle. Aus der Perspektive des SSH-Clients auf Alice verhält es sich genau so, als ob Sie eine direkte Verbindung zu Bob hergestellt hätten.

verwandte Informationen