2010-09-28 6 views
1

在工作中,我們有svn安裝程序,這樣當我有一個ssh隧道向服務器開放時,我可以從本地主機訪問存儲庫,而不需要提示輸入密碼。 (這些存儲庫通過svn:// localhost/url來訪問)。一切工作正常與TortoiseSVN和Windows命令行svn,但我想使用cygwin svn。問題是,cygwin svn不停地提示我輸入密碼,並且即使在我將憑據提供給它後,它也會一直詢問。該提示看起來就像一個HTTP身份驗證提示:身份驗證領域知識庫:爲什麼cygwin的svn要求輸入密碼?

我會補充說我想cygwin svn,因爲我使用cygwin構建的Emacs和psvn模式,因爲emacs不喜歡行窗戶svn的結局。我不想切換到Windows emacs,因爲grep在那裏工作不好(波蘭語字母等問題),我非常喜歡。

感謝對解決我的問題任何提示,

回答

1

大概cygwin的svn客戶端使用一個cygwin的ssh二進制文件進行連接。 TortoiseSVN和其他命令行客戶端正在使用其他一些ssh客戶端,爲此已配置了某種形式的無密碼身份驗證(可能是公鑰文件,可能帶有密碼以及「pageant」ssh代理實現)。

最好的方法是通過編輯~/.ssh/config和/或運行cygwin自己的ssh-agent緩存您的密碼短語,爲您的cygwin ssh客戶端配置類似的無密碼身份驗證。要查看您的ssh配置是否正常工作,請嘗試運行ssh -v your.svn.server svnserve -t。如果輸出以「(success)」開頭的行,那麼svn應該可以正常工作,否則,你應該能夠從打印的進度信息中診斷問題。你的本地命令行客戶端使用的同一個ssh客戶端,通過設置SVN_SSH環境變量,詳見the fine manual

+0

實際上我打開的隧道是通過cygwin ssh,所以它不是ssh客戶端的問題。因爲我使用的是普通的svn而不是svn + ssh,所以我沒有使用密碼緩存,因爲我設置了一個通道,然後所有的存儲庫都可以在svn:// localhost/下得到任何想法?謝謝你的回答:) – jondro 2010-09-29 07:58:41

+0

啊,我w假設svn + ssh://。對於svn://我沒有任何想法,除了可以檢查cygwin使用的〜/ .subversion/config文件與本地svn客戶端使用的文件(可能位於%APPDATA%下的某個文件)之間的區別之外, 。 – slowdog 2010-09-29 13:14:02

相關問題