2010-10-08 96 views
34

如果您正在向RSA密鑰提供正確的密碼,是否有本地檢查的方法?我可以使用RSA密鑰在本地測試身份驗證嗎?

我最近遇到了麻煩推一些提交到GitHub的,因爲推提示輸入密碼,然後驗證失敗。我驗證了github上曾經爲id_rsa文件在我~/.ssh目錄正確的公鑰,和我覈實,我可以與Github上進行身份驗證(如果你ssh [email protected]它會告訴你驗證,但他們沒有提供shell訪問,),所以我知道問題出在我身上,而不是Github的。我應該指出,在這一點上,我只是使用git format-patch來獲取我的提交作爲文件,然後吹掉我的工作存儲庫,並從Github重新克隆,重新應用補丁使用git am,並推出沒有任何問題,所以不管原始問題是什麼,它都是固定的。)

這讓我想知道,但是:如何知道如果遠程主機的身份驗證問題是我向我的私鑰提供了錯誤的密碼,或者遠程主機無法識別我的鑰匙?有沒有辦法在本地執行使用私鑰的測試身份驗證,而不嘗試連接到遠程主機?

回答

19

您可以運行ssh-add將密鑰添加到當前ssh-agent。這會提示輸入您的密碼。

通常,當ssh-agent正在運行,並且您向其中添加密鑰時,當您連接到識別該密鑰的主機時,您不必再解鎖密鑰。如果這不是你想要的,只要運行ssh-add -d將其刪除掉你的ssh-agent當你完成測試。

43

或如本文中指出: How can I test my ssh-keys locally without a server

你可以這樣做:

ssh-keygen -y 

而且這不需要任何服務器(在Windows上使用msysgit的偉大工程)。

+1

我完全糊塗了,以爲'-y'必須說「是所有」 - 但事實並非如此,實際上它似乎做它應該。 – krlmlr 2014-08-15 11:47:04

相關問題