Ubuntu SVN 需要证书及密码验证问题

发布时间 2023-10-16 16:33:48作者: 迷茫の陈Sir

问题概览

问题一
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

参考文章

Ubuntu 20.04 SVN报错
ubuntu svn 不支持明文保存密码 svn 保存密码