2017-10-10 211 views
1

要到我的远程混帐访问每次我推时间或拉添加到SSH的引用:永久添加SSH密钥

GIT_SSH_COMMAND="ssh -i ~/.ssh/id_bit_rsa" git pull origin master 

有没有办法让git记得SSH所以我不每次都不需要添加它?

回答

2

好吧,刚刚在github manual找到答案。

eval "$(ssh-agent -s)" 

和:

$ ssh-add -K ~/.ssh/id_bit_rsa 
3

你可以这样做:

Host github 
HostName github.com 
User git 
IdentityFile ~/.ssh/id_github 

(免去用户,并根据需要主机名,以及标识文件)

~/.ssh/config

1

Git不关心你的SSH密钥。在幕后它调用ssh。如果设置了环境变量GIT_SSH_COMMAND,则它不会使用ssh,而是使用GIT_SSH_COMMAND变量的内容。

一种选择,使其永久是写:

export GIT_SSH_COMMAND="ssh -i ~/.ssh/id_bit_rsa" 

.profile(或.bash_profile),但如果你使用一个以上的远程主机它产生弊大于利。

解决此问题的正确方法是正确配置ssh。编辑文件~/.ssh/config(或创建它,如果它不存在),并把它付诸表决:

Host bitbucket.com 
User guy 
IdentityFile = ~/.ssh/id_bit_rsa 

当然,与承载您的Git回购服务器的实际名称替换bitbucket.com(我猜到位桶从“”部分密钥文件)和guy,并在主机上显示您的姓名。