ジャンプホストで ssh 経由で git を使用するための設定

ジャンプホストで ssh 経由で git を使用するための設定

ラップトップ (alice) でのみ使用可能な秘密鍵がある場合、その鍵をサーバー (bob) から GitLab での認証に使用する方法はありますか。 (alice と bob の間にジャンプ ホストがあることが、少し複雑になると思います。)

アリス --> ジャンプ --> ボブ --> gitlab

alice の ~/.ssh/config は現在次のとおりです:

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

Host jump
  HostName jump01.example.org

Host bob
  HostName bob.example.org
  ProxyJump jump

Gitlab の alice のトークンから公開鍵を取得しました。これを bob のコマンドで使用したいと思いますgit。つまり...

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

ボブにキーペアがありません。

答え1

悪用されない程度の信頼が必要ですbobが、簡単な答えは ssh-agent を実行し、エージェント転送を使用することです。

でエージェントを起動しalice、 を使用して PKCS11Provider を追加しssh-add -S、構成でエージェント転送を構成します。

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

PKCS11 プロバイダーとエージェント転送の詳細については、ssh-agent、ssh-add、および ssh_config のマニュアル ページを参照してください。

ジャンプホストであることは、ちょっとした問題だと思う

ProxyJump の動作方法により、これは複雑ではなく、文字通りまったく問題になりません。Alice の ssh クライアントの観点からは、Bob に直接接続したのとまったく同じように動作します。

関連情報