为了访问我的远程git,我每次推送或拉取时都会添加SSH引用:
GIT_SSH_COMMAND="ssh -i ~/.ssh/id_bit_rsa" git pull origin master
有没有办法让git记住SSH,这样我就不需要每次都添加了?
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
当然,将bitbucket.com
替换为托管您Git仓库的服务器的实际名称(我从密钥文件中的“bit”部分猜测了BitBucket),将guy
替换为您在主机上的名称。
Host github
HostName github.com
User git
IdentityFile ~/.ssh/id_github
在~/.ssh/config
文件中,根据需要替换用户名、主机名和身份文件。