You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 20.04下lftp无法信任Let's Encrypt证书(服务器配置正常)

Ubuntu 20.04下lftp无法信任Let's Encrypt证书(服务器配置正常)

我之前也碰到过类似的头疼情况——明明用openssl验证证书完全没问题,但lftp就是死咬着说证书不被信任。结合你给出的详细信息(服务器证书链完整、openssl不管是直连443还是FTP StartTLS都验证通过),给你几个实用的排查和解决方向:

1. 强制指定lftp使用兼容的TLS版本

Ubuntu 20.04自带的lftp版本可能默认的TLS版本范围和服务器不太匹配,你可以尝试强制让它使用服务器支持的TLSv1.2或TLSv1.3:

lftp -c 'set ssl:ca-file "/etc/ssl/certs/ca-certificates.crt"; set ssl:tls-version TLSv1.2 TLSv1.3; connect server2.obble.com.au; ls'

如果测试有效,你可以把这个配置写到~/.lftp/rc文件里永久生效:

echo 'set ssl:tls-version TLSv1.2 TLSv1.3' >> ~/.lftp/rc

2. 刷新系统根证书缓存

虽然openssl验证正常,但有时候lftp可能没正确加载最新的根证书,你可以手动刷新系统证书缓存:

sudo update-ca-certificates --fresh

执行完后再重新尝试lftp连接,看看问题是否解决。

3. 排查lftp的证书验证配置

临时关闭证书验证测试(仅用于排查,不要长期开启,存在安全风险):

lftp -c 'set ssl:verify-certificate no; connect server2.obble.com.au; ls'

如果这个命令能成功执行,说明问题确实出在证书验证环节。你可以再检查一下系统根证书文件的权限,确保lftp运行的用户有读取权限:

ls -l /etc/ssl/certs/ca-certificates.crt

正常权限应该是-rw-r--r--,如果权限不对,用chmod 644 /etc/ssl/certs/ca-certificates.crt修正。

4. 开启lftp调试模式找细节

如果上面的方法都不行,开启lftp的调试日志,看看具体是验证过程中哪一步出了问题:

lftp -d -c 'set ssl:ca-file "/etc/ssl/certs/ca-certificates.crt"; connect server2.obble.com.au; ls'

日志里会输出详细的SSL握手和证书验证过程,你可以从里面找到具体的错误原因(不过从你的openssl输出看,证书链是完整的,大概率不是缺少中间证书的问题)。

备注:内容来源于stack exchange,提问作者Tankman六四

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 06:40:15