2009-11-20 60 views
4

我正在與pysvn合作,我正在嘗試找到一種體面的方式來處理只能通過svn + ssh訪問的存儲庫。很明顯,SSH密鑰使得這一切非常簡單,但我不能保證最終用戶將使用SSH密鑰。這也必須能夠在沒有用戶交互的情況下運行,因爲它將會執行一些svn日誌解析。與svn + ssh pysvn

最大的問題是,使用svn + ssh會彈出交互式提示進行身份驗證。很顯然,我希望能夠讓pysvn自動使用一組給定的憑據進行登錄,但是set_default_username和set_default_password在這方面沒有任何好處。如果我不能這樣做,我至少希望能夠失敗,並記錄一條消息告訴用戶設置一個SSH密鑰。然而,set_interactive似乎對此也沒有任何影響,並且我仍然被提示輸入client.log('svn + ssh:// path')的密碼。

有關如何解決此問題的任何想法?是否真的有可能在沒有SSH密鑰的情況下處理這個問題,因爲它是引發提示的SSH?

回答

2

檢出ssh配置選項PasswordAuthentication。

我不確定pysvn如何與ssh交互,但是如果您在〜/ .ssh/config(或者全局配置)中設置爲no,那麼它不應該提示輸入密碼。

+0

我認爲這是我可能希望的最好的。 – f4nt 2009-11-21 18:18:06

+0

我在/ etc/ssh/ssh_config中將PasswordAuthentication設置爲no,並且在使用pysvn時仍然提示輸入密碼。任何想法? – umpirsky 2011-12-21 12:37:36

+0

@umpirsky:您是否提示您輸入遠程服務器上的*密碼*或密鑰中的*密碼*? – bstpierre 2011-12-21 12:39:23