相关疑难解决方法(0)

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

也许是一个相当不寻常的情况,但我想指定一个私有SSH密钥,以便在从本地计算机执行shell(git)命令时使用.

基本上是这样的:

git clone git@github.com:TheUser/TheProject.git -key "/home/christoffer/ssh_keys/theuser"
Run Code Online (Sandbox Code Playgroud)

甚至更好(在Ruby中):

with_key("/home/christoffer/ssh_keys/theuser") do
  sh("git clone git@github.com:TheUser/TheProject.git")
end
Run Code Online (Sandbox Code Playgroud)

我见过使用Net :: SSH连接到远程服务器的示例,它使用指定的私钥,但这是一个本地命令.可能吗?

git ssh bash shell

963
推荐指数
25
解决办法
95万
查看次数

修复msysGit Portable $ HOME位置

我已经在我的闪存驱动器上成功安装并配置了msysGit Portable,并使用它来拉动和推送GitHub repos.但是,我似乎总是不得不克服SSH支持.

具体来说,为了让SSH找到我的密钥文件,每次运行git-bash.bat时,我都必须按照这些说明启动第二个实例,ssh-agent然后启动ssh-add我的密钥.

使用ssh -v git@github.com调试的输出我看到msysGit默认使用我的Windows用户目录来查找键.它不能那样做; 我需要它在便携式驱动器上查看自己的目录.

如何强制$ HOME成为程序自己的文件夹?

破坏Vox链接的更新

此页面中的说明与我最初发布的现已断开的链接类似.引用如下.这里也是原始Vox文章webarchive.

但是,如果你尝试这个并得到:

% ssh-add
Could not open a connection to your authentication agent. 
Run Code Online (Sandbox Code Playgroud)

然后你的会话没有在ssh-agent下运行.您可以通过运行以下命令在代理下重新启动新shell来解决此问题:

exec ssh-agent bash 
Run Code Online (Sandbox Code Playgroud)

在哪里可以用你选择的shell替换bash.执行此操作后,您应该能够运行ssh-add来加载该shell的密钥.

git ssh msysgit portable-applications home-directory

20
推荐指数
1
解决办法
1万
查看次数

标签 统计

git ×2

ssh ×2

bash ×1

home-directory ×1

msysgit ×1

portable-applications ×1

shell ×1