我的機器設置如下: Windows 7,Git for Windows,Git Bash,openSSH 1.6通過cygwin安裝。即使在SSH密鑰交換後,GitHub仍然要求登錄
我也跟着上https://help.github.com/articles/generating-ssh-keys
的指示,但我還是在每次登錄我推的東西。
我想我的設置是搞砸了...任何幫助非常感謝。
我的機器設置如下: Windows 7,Git for Windows,Git Bash,openSSH 1.6通過cygwin安裝。即使在SSH密鑰交換後,GitHub仍然要求登錄
我也跟着上https://help.github.com/articles/generating-ssh-keys
的指示,但我還是在每次登錄我推的東西。
我想我的設置是搞砸了...任何幫助非常感謝。
爲了能夠使用基於密鑰的身份驗證(而不是HTTP basic-auth),您必須使用SSH協議。在Github上,URL如下所示:
[email protected]:username/repository.git
一旦您使用密鑰驗證,就可以使用常用的SSH工具來管理連接。其中一個工具是SSH代理程序,它將在加載後解密私鑰並在運行時將其保存在主內存中。這允許新的SSH會話使用此密鑰,而不必打擾密碼問題。
您可以通過運行
ssh-add /path/to/key
當我嘗試將密鑰添加到我的ssh代理程序時出現錯誤: 無法打開與您的身份驗證客戶端的連接。當我在cygwin上執行ps -a時,只能看到/ usr/sbin/sshd進程正在運行。有趣的是,我無法看到我的git bash上的這個過程。取而代之的是使用/ bin/ssh-agent。我真的搞砸了什麼...... – goTAN 2013-02-22 11:05:12
@goTAN連接問題是cygwin的ssh客戶端的問題。看到這裏:http://stackoverflow.com/questions/17695337/cygwins-ssh-add-returns-could-not-open-a-connection-to-your-authentication-age/17695338#17695338。如果你在我的鏈接中關注Holger的答案和答案 - 你應該很樂意去。 – 2014-01-13 14:02:04
添加私鑰當前SSH代理會話現在我得到了它還挺工作... 起初我卸載了SSH軟件包cygwin的版本,因爲混帳的Windows附帶SSH。
像Holger說我必須添加密鑰到ssh代理,但從git bash我無法添加它。它的工作是這樣的:
eval 'ssh-agen.exe'
ssh-add ~/.ssh/id_rsa
在此之後,我能夠推入,而無需輸入密碼。 剩下的唯一問題是,我必須在每次系統重啓後添加密鑰...
ANy想法如何解決這個問題?
您必須始終輸入您的密碼。按照我的指示在我的文章進一步自動化。 – 2013-10-22 14:32:23
這些說明適用於Windows 7及更高版本。
.bashrc
文件名(這樣完整的文件路徑是C:\Users\XYZ\.bashrc
其中XYZ
是Windows用戶名在文件中添加以下兩行注:私鑰文件的改變位置如果不是~/.ssh/id_rsa
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
開放的Git Bash的應用程序,你應該詢問你的密鑰密碼
如果你想刪除的密碼提示,並惹惱你就會進入:
ssh-keygen -p
輸入舊密碼,當要求新密碼時,請將其留空。
您是否在存儲庫中使用了SSH-URL?如果使用HTTP變體,則不能使用密鑰身份驗證,但需要使用密碼。 – 2013-02-22 09:59:48
啊這是問題的感謝,但現在我必須每次鍵入密碼短語...是必要的嗎? – goTAN 2013-02-22 10:34:19
請參閱我的答案。 – 2013-02-22 10:52:30