使用仅在笔记本电脑 (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 令牌中获得了公钥,我想将它与git
bob 的命令一起使用。例如...
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 一样。