Subversion (SVN) 客戶端為避免重複輸入,會將認證憑證 (用戶名/密碼) 加密緩存至本地文件系統。需切換賬號、密碼變更或安全清理時,必須手動清除緩存。本文提供全平台操作步驟。
~/.subversion/auth/svn.simple/ (基於文件) 或系統鑰匙串%APPDATA%\Subversion\auth\svn.simple 並回車
C:\Users\<你的用戶名>\AppData\Roaming\Subversion\auth\svn.simpleREM 清除所有 SVN 認證緩存 del /f /q "%APPDATA%\Subversion\auth\svn.simple\*" REM 或使用 SVN 命令 (需 SVN 命令列工具) svn auth --remove# 移除特定域 svn auth --remove-all # 移除所有 (SVN 1.10+)
# 查看緩存文件 ls -la ~/.subversion/auth/svn.simple/ # 刪除所有緩存 rm -rf ~/.subversion/auth/svn.simple/* # 刪除特定儲存庫 (先查看文件內容確認) cat ~/.subversion/auth/svn.simple/rm ~/.subversion/auth/svn.simple/
# Linux (GNOME Keyring) - 使用 secret-tool secret-tool search svn.simple serversecret-tool clear svn.simple server # macOS (Keychain Access) - 圖形化 # 1. 打開「鑰匙串訪問」App (Command+Space 輸入 Keychain) # 2. 搜索 "svn" 或儲存庫域名 # 3. 右鍵選擇項目 → 刪除 # macOS 命令列 security delete-internet-password -s -r security delete-generic-password -s
.metadata/.plugins/org.eclipse.team.svn.core/ 相關文件
問題 原因 解決
刪除文件後仍不提示密碼 系統鑰匙串尚有緩存 (GNOME Keyring/Keychain) 同步清除系統鑰匙串條目
TortoiseSVN 清除無效 多版本共存、緩存位置不一致 檢查 %APPDATA%\Subversion 實際路徑,手動刪除
Linux 提示 "No such file or directory" 未曾緩存過、或使用系統鑰匙串 檢查 ~/.subversion/auth/ 目錄是否存在
想保留某儲存庫密碼 需選擇性刪除 查看緩存文件內容 (XML/屬性格式) 確認 realmstring,僅刪除目標文件
安全建議
- 定期輪換密碼:配合 SVN 緩存清理,確保舊密碼失效
- 禁用緩存 (高安全環境):
~/.subversion/config 設置 store-auth-creds = no (僅當前用戶) 或 store-passwords = no (僅密碼)
- 使用 SSH Key 替代密碼:
svn+ssh:// 協議配合 SSH 金鑰認證,更安全且免輸入密碼
- 企業環境統一管理:組策略分發
subversion/config 禁用緩存,配合 LDAP/SSO 認證