为了账号安全,请及时绑定邮箱和手机立即绑定

如何指定在Git上执行shell命令时使用的私有SSH密钥?

如何指定在Git上执行shell命令时使用的私有SSH密钥?

Git
HUWWW 2019-07-31 11:11:42
如何指定在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。


查看完整回答
反对 回复 2019-07-31
  • 3 回答
  • 0 关注
  • 2237 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信