使用仅在笔记本电脑 (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
我在鲍勃上没有密钥对。
你必须有一些
bob
不能被滥用的信任,但简单的答案是运行一个 ssh-agent,并使用代理转发。在 上启动代理,使用然后在配置中配置代理转发
alice
添加您的 PKCS11Provider 。ssh-add -S
有关 PKCS11 提供程序和代理转发的详细信息,请参阅 ssh-agent、ssh-add 和 ssh_config 的手册页。
由于 ProxyJump 的工作原理,它并不复杂,而且从字面上看根本不重要。从 Alice 上的 ssh 客户端的角度来看,它的行为就像您直接连接到 Bob。