我正在使用git-svn來開發託管在SVN + SSH存儲庫上的代碼。每次我提交/更新/重新綁定時,我都不必在服務器上輸入我的ssh密碼,所以我認爲它被緩存在某處。git-svn在哪裏保存ssh證書?
我的憑證在哪裏保存?在.git目錄內,或者在我的主目錄中的某個點文件中全局化?
我問,因爲我的git存儲庫在我的主目錄中是公共可讀的(我們的實驗室中有一個家庭可讀的策略),並且恐怕這可能會將我的ssh證書泄露給所有實驗室。
謝謝。
我正在使用git-svn來開發託管在SVN + SSH存儲庫上的代碼。每次我提交/更新/重新綁定時,我都不必在服務器上輸入我的ssh密碼,所以我認爲它被緩存在某處。git-svn在哪裏保存ssh證書?
我的憑證在哪裏保存?在.git目錄內,或者在我的主目錄中的某個點文件中全局化?
我問,因爲我的git存儲庫在我的主目錄中是公共可讀的(我們的實驗室中有一個家庭可讀的策略),並且恐怕這可能會將我的ssh證書泄露給所有實驗室。
謝謝。
如Does Git-Svn Store Svn Passwords?所述,它們存儲在~/.subversion
中,所以只要您的主目錄本身不具有公共可讀性,您就不應該有問題(儘管我剛剛閱讀了最後一行,你可能有問題)。
您是否配置了SSH服務器以使用基於密鑰的身份驗證?很可能您的私鑰(密碼保護與否)位於~/.ssh/id_rsa
或~/.ssh/id_dsa
(公鑰是與其關聯的.pub
文件)。你一定要保護那些目錄,儘管在大多數情況下,ssh
甚至不會讓它工作,如果他們可以被別人讀取(而不是root)。
作爲你的評論的一個備註「ssh不會讓它工作」 - 我已經犯了這個問題 - 在我嘗試使用ssh -vvv來看ssh保護我免受危險的權限之前,我花了一段時間在我的主目錄中 - 我認爲這是事實,$ HOME實際上是組寫入 - 這反過來使$ HOME/.ssh易受攻擊。 – 2010-11-04 16:47:25
+1純粹的基於密碼的鏈接(我有基於密鑰的方法) – Bruno 2010-11-04 12:10:01
即使$ HOME是公共可讀的,「〜/ .subversion」的可讀性可能僅限於所有者。 – Bruno 2010-11-04 12:11:11
希望是的。如果實驗室沒有確保整個主目錄是公開的,那麼Federico可以刪除該目錄下的字可讀性。 – Nick 2010-11-04 12:16:00