开发者

Setting a custom path for git private SSH key on linux

I'm trying to setup a git client on linux. I uploaded my private key to the machine, and I开发者_开发问答 understand that I should put it in ~/.ssh, but I don't have access to that folder.

How can I tell git to look for the private key somewhere else?


You can achieve that using a ssh config file.

First create a file inside your ~/.ssh folder named config, you can use some command like the following

$ nano ~/.ssh/config

Then, the content of the file should have the location of your key based on each host name. for example:

Host github.com
 IdentityFile ~/myPublicKeyFolder/myGitHubFile
Host heroku.com
 IdentityFile ~/myPublicKeyFolder/myHerokuFile

So, when git tries to access each host it will follow the rules inside this config file based on the git host your trying to reach


One option is to use ssh-agent and provide a file name to ssh-add.

For example:

$ ssh-agent /bin/bash
$ ssh-add ~/mykeys/id_rsa


I would have said put the file name in ~/.ssh/config, but you likely would not have access to this file, too.

You can give ssh the private key to use with the -i keyfile option.

Now how to say git which options to pass to ssh?

The GitTips page says create a wrapper script and point to it with the GIT_SSH environment variable.

It looks like you also can use the git configuration core.gitProxy, but I did not find a good example and some mailing list message suggests it is only for the git: protocol.


Use ssh-agent

ssh-agent bash -c 'ssh-add /home/me/my_private_key; git clone git@bitbucket.org:uname/test-git-repo.git'


For a project I am working on my app needs to spit out a shell script with all of the git commands to init/commit/push to an external repository. The ~/.ssh/config is off limits so I have my public/private keys in my app directory. I used vhallac's answer. This is what I had to do in my shell script to use my key:

eval `/usr/bin/ssh-agent`
ssh-add /path/to/.ssh/id_rsa

hope this helps someone

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜