我连接到一个使用 ssh+svn
的 SVN 服务器。当检出一个包含很多 svn:external
子仓库的特定目录时,我需要多次输入密码。
- 如何设置我的 Subversion 客户端自动认证?
- 这方面的文档在哪里可以找到?
我连接到一个使用 ssh+svn
的 SVN 服务器。当检出一个包含很多 svn:external
子仓库的特定目录时,我需要多次输入密码。
SVN支持存储身份验证信息,这对于避免为每个svn:external进行身份验证非常有用。请参阅位于~/.subversion目录下的config和README.txt文件。
配置文件的第一部分应该是身份验证部分:
### Section for authentication and authorization customizations.
[auth]
### Set store-passwords to 'no' to avoid storing passwords in the
### auth/ area of your config directory. It defaults to 'yes'.
### Note that this option only prevents saving of *new* passwords;
### it doesn't invalidate existing passwords. (To do that, remove
### the cache files by hand as described in the Subversion book.)
store-passwords = yes
### Set store-auth-creds to 'no' to avoid storing any subversion
### credentials in the auth/ area of your config directory.
### It defaults to 'yes'. Note that this option only prevents
### saving of *new* credentials; it doesn't invalidate existing
### caches. (To do that, remove the cache files by hand.)
# store-auth-creds = no
看起来密钥存储在 ~/.subversion/auth 目录下(至少在Unix上是这样)。
在我的测试中,当我首次检出包含主干检出的 svn:external 时,被要求进行身份验证。更新外部资源时,主干的后续svn更新不会发出身份验证请求。
我也赞同使用ssh密钥来访问您的仓库。但这些信息仅适用于SVN身份验证。
是的,我同意,公有密钥认证是正确的选择。如果您使用密码保护您的密钥,您可以使用ssh-agent在Linux上将密钥存储在钥匙环中,或者在Windows上使用Putty的pageant。否则,您仍然需要一直输入密码。