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

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

相关推荐
爱跑马的程序员1 小时前
Linux 如何查看文件夹的大小(du、df、ls、find)
linux·运维·ubuntu
Dxy12393102162 小时前
python连接minio报错:‘SSL routines‘, ‘ssl3_get_record‘, ‘wrong version number‘
开发语言·python·ssl
oMcLin4 小时前
如何在 Ubuntu 22.04 LTS 上部署并优化 Magento 电商平台,提升高并发请求的响应速度与稳定性?
linux·运维·ubuntu
想唱rap5 小时前
表的约束条件
linux·数据库·mysql·ubuntu·bash
2501_948195345 小时前
RN for OpenHarmony英雄联盟助手App实战:设置实现
linux·ubuntu
陈让然7 小时前
WSL2 ubuntu18.04扩容
linux·运维·ubuntu
PoppyBu7 小时前
ubuntu20.04安装amule
linux·ubuntu
HIT_Weston7 小时前
94、【Ubuntu】【Hugo】搭建私人博客:面包屑(二)
linux·运维·ubuntu
babytiger9 小时前
scrcpy 编译在ubuntu2404 和UOS上
ubuntu·uos·scrcpy
❀͜͡傀儡师9 小时前
基于shell脚本来检测SSL证书过期并发送通知到钉钉
网络协议·钉钉·ssl