2011-12-22 394 views
3

我正在編寫使用pysvn來獲取svn日誌歷史記錄的Python應用程序。它適用於http://如urls,但對於svn + ssh://我會在命令行中提示輸入密碼!pysvn用svn + ssh提示輸入密碼

我使用callback_get_login進行身份驗證。

有什麼辦法可以避免提示和驗證與svn + ssh svn回購pysvn?

+0

你有沒有試過['pysvn.Client.set_auth_cache'](http://pysvn.tigris.org/docs/pysvn_prog_ref.html#pysvn_client_set_auth_cache)? – jcollado 2011-12-22 12:45:37

+0

@jcollado現在嘗試,無論如何都會提示。也許如果我輸入密碼,它不會再次提示,但我正在構建一個PyGTK應用程序,並且我想完全控制憑據,沒有其他提示輸入密碼。感謝提示。 – umpirsky 2011-12-22 12:50:48

+0

避免被要求輸入密碼的最有效方法是使用公鑰認證,並確保密鑰創建時沒有任何密碼。如果用戶決定使用密碼,我認爲您的應用程序不負責解決此問題,只需以更好的方式請求密碼即可。 – jcollado 2011-12-22 14:23:25

回答

1

這是svn + ssh的正常行爲。除非您部署了SSH密鑰並且正在使用該主機的用戶名連接,否則您將遇到此問題。

不幸的是,經過一番研究,PySVN看起來好像在這個時候不支持使用SSH密鑰。

+0

是的,我得出了同樣的結論,謝謝。應用程序只會執行svn auth部分,將ssh auth留給用戶使用公鑰管理。 – umpirsky 2011-12-22 16:34:52