當我嘗試通過ssh遠程連接時嘗試提交svn(協議svn + ssh)時,我得到密碼短語的請求。如果我在本地連接的情況下執行相同的操作,並且使用正常的終端會話,我不會收到此請求。我有MacOSX 10.6。svn通過ssh登錄時詢問密碼短語,但當本地工作時不通知
有什麼想法?
當我嘗試通過ssh遠程連接時嘗試提交svn(協議svn + ssh)時,我得到密碼短語的請求。如果我在本地連接的情況下執行相同的操作,並且使用正常的終端會話,我不會收到此請求。我有MacOSX 10.6。svn通過ssh登錄時詢問密碼短語,但當本地工作時不通知
有什麼想法?
這是ssh的標準行爲。如果你不想問它,你必須配置你的ssh密鑰。我寫了一個關於它的帖子前一陣子,我認爲這將幫助你:
http://www.codercaste.com/2009/10/07/how-to-setup-your-ssh-keys-for-authentication/
我猜想有一個在腳本中一些不同的是運行shell啓動時。終端是否運行登錄shell?是否ssh?如果它們不同,那麼一個會運行.bash_profile,另一個則不會。恕我直言,所有交互式shell都應該是登錄shell,但圖形終端通常不會。 ssh應該總是啓動一個登錄shell。
作爲一種診斷方法,請嘗試在本地和ssh shell中運行set
,並比較輸出;如果它們不同,則指向已經運行的不同腳本集。
bash_profile不包含任何特殊內容。我無法真正看到任何可能直接或間接觸發此行爲的原因 – 2011-03-06 21:18:18
「set」輸出的任何差異? – 2011-03-07 00:09:53
我不認爲這是問題所在。我認爲問題在於命令行svn在shell會話中的行爲不同,它們是本地的(通過Terminal.app)和遠程的(通過ssh從另一臺機器中)。這很奇怪。 – 2011-03-06 21:00:06
@Tom:確切地說是 – 2011-03-06 21:04:33
也許你使用「file:///」檢出了你的本地svn?無論如何,要遠程連接而不提供密鑰,您需要創建ssh密鑰。 – Spyros 2011-03-06 21:17:53