在linux上为git私有SSH密钥设置自定义路径

rip*_*234 31 git ssh private-key

我正在尝试在linux上设置一个git客户端.我将我的私钥上传到机器,我知道我应该把它放在〜/ .ssh中,但是我没有访问该文件夹.

我如何告诉git在其他地方寻找私钥?

Fel*_*ino 46

您可以使用ssh配置文件来实现.

首先在您~/.ssh命名的文件夹中创建一个文件config,您可以使用如下命令

$ nano ~/.ssh/config
Run Code Online (Sandbox Code Playgroud)

然后,文件的内容应根据每个主机名具有密钥的位置.例如:

Host github.com
 IdentityFile ~/myPublicKeyFolder/myGitHubFile
Host heroku.com
 IdentityFile ~/myPublicKeyFolder/myHerokuFile
Run Code Online (Sandbox Code Playgroud)

因此,当git尝试访问每个主机时,它将遵循此配置文件中的规则,具体取决于您尝试访问的git主机


vha*_*lac 42

一种选择是使用ssh-agent并提供文件名ssh-add.

例如:

$ ssh-agent /bin/bash
$ ssh-add ~/mykeys/id_rsa
Run Code Online (Sandbox Code Playgroud)


Paŭ*_*ann 11

我会说文件名~/.ssh/config,但你可能也无法访问这个文件.

您可以ssh使用该-i keyfile选项提供私钥.

现在怎么说git哪些选项传递给ssh?

GitTips页说,创建一个包装脚本和指向它与GIT_SSH环境变量.

看起来你也可以使用git配置core.gitProxy,但我没有找到一个好的例子,一些邮件列表消息表明它只适用于git:协议.