如何指定在Git上执行shell命令时使用的私有SSH密钥?也许是一个相当不寻常的情况,但我想指定一个私有SSH密钥,以便在从本地计算机执行shell(git)命令时使用。基本上是这样的:git clone git@github.com:TheUser/TheProject.git -key "/home/christoffer/ssh_keys/theuser"甚至更好(在Ruby中):with_key("/home/christoffer/ssh_keys/theuser") do
sh("git clone git@github.com:TheUser/TheProject.git")end我见过使用Net :: SSH连接到远程服务器的示例,它使用指定的私钥,但这是一个本地命令。可能吗?
3 回答
缥缈止盈
TA贡献2041条经验 获得超4个赞
这样的东西应该工作(由orip建议):
ssh-agent bash -c 'ssh-add /somewhere/yourkey; git clone git@github.com:user/project.git'
如果您更喜欢子壳,您可以尝试以下(虽然它更脆弱):
ssh-agent $(ssh-add /somewhere/yourkey; git clone git@github.com:user/project.git)
Git将调用SSH,它将通过环境变量找到它的代理; 反过来,这将加载密钥。
另外,设置HOME
也可以做的伎俩,只要你愿意建立一个仅包含一个目录.ssh
的目录HOME
; 这可能包含identity.pub或配置文件设置IdentityFile。
- 3 回答
- 0 关注
- 2237 浏览
添加回答
举报
0/150
提交
取消