在跳转主机上通过 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 令牌中获得了公钥,我想将它与gitbob 的命令一起使用。例如...

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 一样。

相关内容