有一段時間了,我一直在Git bash(Mysysgit for Windows)中使用BitBucket。最近我添加了GitHub,但是當git存儲我的BitBucket證書時,它不適用於GitHub。GitHub不停地詢問用戶名/密碼; BitBucket不
我試過各種事情和方法(其中this tutorial和各種SO問題)。
下面是我詳細做了:
1)對GitHub上創建密鑰對。
2)將公鑰上傳到GitHub帳戶設置中的SSH keys
。
3)測試了密鑰對:
$ ssh -T [email protected]
Enter passphrase for key '/c/Users/***/.ssh/id_rsa_github':
Hi ***! You've successfully authenticated, but GitHub does not provide shell access.
$ ssh -T [email protected]
logged in as ***.
You can use git or hg to connect to Bitbucket. Shell access is disabled.
4)更新我的配置文件有以下幾點:
Host bitbucket.*
User ***
IdentityFile ~/.ssh/id_rsa
Host github.*
HostName github.com
User ***
ForwardAgent yes
IdentityFile ~/.ssh/id_rsa_github
5)新增的私鑰和密碼:
$ eval `ssh-agent`
$ ssh-add ~/.ssh/id_rsa_github
Enter passphrase for /c/Users/***/.ssh/id_rsa_github:
Identity added: /c/Users/***/.ssh/id_rsa_github (/c/Users/***/.ssh/id_rsa_github)
$ ssh-add -L
ssh-rsa **key here*** /c/Users/***/.ssh/id_rsa_github
6)增加了.bashrc
文件自動啓動的的ssh-agent:
eval `ssh-agent`
而且還是:
$ git push origin master
Username for 'https://github.com':
我要去哪裏錯了?
編輯:以下建議切換到SSH後,混帳不問我的密碼/用戶名每次。但是,現在它每次都要求我的密碼。從一個混帳會話:
$ git push origin master
Enter passphrase for key '/c/Users/***/.ssh/id_rsa_github':
Counting objects: 5, done.
***
$ git commit -am "Minor edit"
1 file changed, 1 insertion(+), 1 deletion(-)
$ git push origin master
Enter passphrase for key '/c/Users/***/.ssh/id_rsa_github':
我已經更新了我.bashrc
文件Github上suggests it,但據我瞭解,它應該只爲我的密碼再多問。即使我以管理員權限運行mysysgit,密碼也不會保存。
您正在使用https回購網址,即,你根本沒有使用ssh。 – AD7six
謝謝@ AD7six,切換到SSH後,它不再向我要求我的用戶名/密碼。然而,現在它每次都會詢問我的密碼(在用'ssh-add'添加Github密鑰後,甚至在手動啓動ssh-agent之後)。 – Jura25