
ラップトップ (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 に直接接続したのとまったく同じように動作します。