svn客户端默认缓存认证凭据,是否记住密码取决于配置和环境:linux需配置servers和config文件并设置权限,windows(tortoisesvn)默认启用且可通过settings管理;清除凭据可删缓存目录或使用clear功能;安全建议禁用自动保存或集成系统密钥环。

SVN 客户端默认会缓存认证凭据,但是否“记住密码”取决于配置和环境。Linux 和 Windows(如 TortoiseSVN)的处理方式不同,核心在于 认证存储机制 和 配置开关 是否启用。
Linux 下让 SVN 记住密码
关键在两个配置文件和权限设置:
- 编辑
~/.subversion/servers,确保[global]段包含:store-passwords = yesstore-auth-creds = yes - 编辑
~/.subversion/config,在[auth]段添加或确认:password-stores =(留空表示使用系统密钥环,如 gnome-keyring;若无图形环境,可省略此项,依赖本地加密缓存) - 确保目录权限安全:
chmod 700 ~/.subversionchown -R $USER ~/.subversion - 首次执行带认证的操作(如
svn info URL),输入账号密码后,SVN 自动加密保存到~/.subversion/auth/svn.simple/下的文件中
Windows(TortoiseSVN)记住密码
TortoiseSVN 默认启用凭据缓存,无需额外配置,但需确认设置:
- 右键任意 SVN 工作副本 → TortoiseSVN → Settings
- 左侧选 Saved Data → 右侧勾选 Authentication data 旁的
Save authentication data(通常已默认开启) - 下次执行 Update/Commit 等操作并成功登录后,凭据即被保存
清除已保存的 SVN 用户名和密码
无论 Linux 还是 Windows,清除凭据都是为了重新触发登录提示,常见于换账号、改密码或解决认证失败问题:
-
Linux 终端客户端:直接删除缓存目录
rm -rf ~/.subversion/auth/svn.simple/*
(也可只删特定仓库文件,通过ls ~/.subversion/auth/svn.simple/查看对应哈希名) -
TortoiseSVN(Windows):
Settings → Saved Data → 点击 Authentication data 行后的 Clear → 勾选要清除的 SVN 地址 → 确定 -
临时禁用缓存(单次操作):
加上--no-auth-cache参数,例如:svn update --no-auth-cache,本次不会读取或保存凭据
安全提醒与替代方案
明文密码不被存储,但加密缓存仍依赖系统权限。如需更高安全性:
- 禁用自动保存:在
~/.subversion/servers中设store-passwords = no - 使用密钥环集成(Linux):将
password-stores = gnome-keyring或kwallet写入 config 文件,利用桌面环境密钥管理器 - 避免命令行传参密码:
svn up --username u --password p会导致密码短暂暴露在ps列表中,不推荐用于生产环境











