2017-10-10 193 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,並在主機上顯示您的姓名。