wls2 ubuntu conda出现诡异ssl错误

conda突然用不了了,查了两个小时才发现解决办法,赶紧趁热打铁记录下。

背景

wls2开的ubuntu20,子系统打开了ssh,宿主机打开了端口转发。使用同一局域网的另一台机器,通过vscode来访问宿主机的子系统。

问题描述

反复配环境,然后就突然报SSL 443相关的错误,具体来说如下所示。

bash 复制代码
Channels:
 - defaults
Platform: linux-64
Collecting package metadata (repodata.json): - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1000)'))': /pkgs/main/linux-64/repodata.json.zst

Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1000)'))': /pkgs/r/linux-64/repodata.json.zst

Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1000)'))': /pkgs/r/noarch/repodata.json.zst

而且是秒报错,看起来就是443不让访问了,证书出问题了,所以就对症下药看看怎么更新证书、或者复原证书。

解决办法

参考文章https://www.reddit.com/r/bashonubuntuonwindows/comments/1b5i6my/ssl_doesnt_work_on_wsl_2_ubuntu/,输入如下命令更新下就可以了,稀里糊涂的,怎么会证书出问题了?

bash 复制代码
sudo apt-get update
sudo apt-get install ca-certificates
update-ca-certificates

题外话

打通隧道,以2333端口为例,子系统ip为172.123.123.123为例。

powershell 复制代码
# 把子系统的ssh服务打开
sudo systemctl status ssh
sudo systemctl start ssh

# ssh 用密码验证
sudo vim /etc/ssh/sshd_config
# 把里面的passwordAuthentication从no改为yes

# 看看它的ip地址,这里为172.123.123.123
ip adress
# 或者
ifconfig

# 宿主机打开端口转发 
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=2333 connectaddress=172.123.123.123 connectport=22

# 再防火墙放行
netsh advfirewall firewall add rule name=WSL2 dir=in action=allow protocol=TCP localport=2333

# 看看成功没
netsh interface portproxy show all

子系统似乎必须保持窗口打开,否则就会休眠。

相关推荐
胡耀超9 小时前
Umi-OCR 的 Docker安装(win制作镜像,Linux(Ubuntu Server 22.04)离线部署)
linux·深度学习·ubuntu·docker·容器·nlp·ocr
白毛大侠10 小时前
在 Ubuntu 24.04 中安装 Python 2.7、pip 及 mysqlclient==1.4.6 的完整指南
python·ubuntu·pip
Gene_202211 小时前
[TOOL] ubuntu 使用 ffmpeg 操作 gif、mp4
linux·ubuntu·ffmpeg
对你无可奈何13 小时前
ubuntu 22.04 anaconda comfyui的安装
python·ubuntu·aigc
Ronin30513 小时前
【Linux系统】进程状态 | 进程优先级
linux·运维·服务器·ubuntu
电子小子洋酱13 小时前
VScode SSH远程连接Ubuntu(通过SSH密钥对的方式)
vscode·物联网·ubuntu·ssh
砍光二叉树17 小时前
【MYSQL8】springboot项目,开启ssl证书安全连接
spring boot·mysql·ssl
x县豆瓣酱1 天前
【第五节】部署http接口到ubuntu server上的docker内
ubuntu·http·docker
kikikidult1 天前
Ubuntu20.04运行openmvg和openmvs实现三维重建(未成功,仅供参考)
人工智能·笔记·ubuntu·计算机视觉
杰哥技术分享1 天前
Ubuntu 22.04安装SQL Server指南
linux·运维·ubuntu·sqlserver