Ubuntu SVN 需要证书及密码验证问题
问题概览
问题一
Ubuntu 20.04 下使用 SVN ,会报错 SVN 的证书错误,无论是选择接受 t
还是永久接受 p
,下次都会要求再次接受;在 kali 或者 Windows 上没有出现该问题。
Error validating server certificate for 'https://xxx.xxx.xxx.xxx:443':
- The certificate has an unknown error.
Certificate information:
问题二
环境同上,SVN 每次都要求输入密码,在 kali 或者 Windows 上没有出现该问题。
Authentication realm: <https://xxx.xxx.xxx.xxx:443> #######xxxxx - silversvn##########
Password for 'xxx': ****************
解决方法
证书问题
SVN 服务器的 TLS 版本为 V1.1,但是 Ubuntu 20.04 默认不再支持 TLS V1.0 和 V1.1
修改 Ubuntu 的配置 openssl 文件以启用 TLS V1.0
root@ubuntu:~# openssl version -d # 配置文件路径
OPENSSLDIR: "/usr/lib/ssl"
root@ubuntu:~# ls /usr/lib/ssl
certs misc openssl.cnf private # 修改openssl.cnf文件
root@ubuntu:~# vim /usr/lib/ssl/openssl.cnf
# 文件头添加
openssl_conf = default_conf
# 文件末添加
[default_conf]
ssl_conf = ssl_sect
[ssl_sect]
system_default = ssl_default_sect
[ssl_default_sect]
MinProtocol = TLSv1
CipherString = DEFAULT:@SECLEVEL=1
输入密码
ubuntu 20.04 的 SVN 默认版本为 1.13,不允许明文存储密码
解决方法一
每次输入添加账户信息如 svn up --username xxx --passwd xxx
或对 svn 进行降级
解决方法二
使用 gpg-agent 进行记录
sudo apt-get install gpg-agent
ps aux
... /usr/bin/gpg-agent --supervised
设置环境变量,登录默认运行,全局配置可修改 /etc/profile,个人配置 ~/.bashrc
export GPG_TTY=$(tty)
svn 设置
# ~/.subversion/config
password-stores = gpg-agent
# ~/.subversion/servers
store-passwords = yes