curl - 在WSL上安装 rust

标签 curl installation rust

我一直在尝试通过here在Linux的Windows Subsytem(wsl)上通过rustup安装Rust。curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh不断犯错

curl: (60) SSL certificate problem: self signed certificate in certificate chain
More details here: https://curl.haxx.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
一些SO答案提到使用-k/--insecure来解决此问题,所以我执行curl --insecure --proto ...毫无用处。 GitHub上的一些问题提到在export RUST_USE_HYPER=1之前使用curl,但是我没有这样做,因为我不知道这意味着什么(或者它是否有效)。我还尝试了直接从rustup-init.sh下载https://sh.rustup.rs,然后仅运行它,但它也给出了相同的错误。我还没有找到其他能够做到这一点的方法。
如何在wsl中安装rustup
环境:
Windows 10版本20H2
WSL版本1

最佳答案

此消息表示您连接到sh.rustup.rs时获得的证书是自签名的。自从免费证书颁发机构问世以来,几乎没有人经营带有自签名证书的网站,因为它们容易受到中间人攻击。 sh.rustup.rs也不异常(exception),因此看到自签名证书意味着某人正在篡改您的连接。
就您而言,这是非默认的防病毒软件。某些防病毒程序尝试扫描进出该计算机的所有通信中是否存在病毒,并且为了拦截这些连接,它们将根证书颁发机构插入Windows系统证书存储中,并使用它来模拟您的所有连接。
但是,这不适用于WSL,因为它及其中的程序不使用Windows证书存储。这样一来,它就可以看出这是什么:对您的数据的攻击。实际上,大多数执行此操作的防病毒程序都会通过选择较差的TLS版本或较差的密码来严重削弱连接的安全性,或者在某些情况下完全忽略了正确的证书验证,从而使您容易受到Internet上任何人的MITM攻击。无论如何,随着带有TLS 1.3的加密SNI的出现,它很快将无法使用。
因此,要解决此问题并保护计算机安全,正确的做法是完全禁用防病​​毒功能并删除恶意CA,或者完全卸载防病毒程序并使用Windows Defender。这样可以防止您的防病毒软件拦截此连接,并使WSL中的程序正常工作。

关于curl - 在WSL上安装 rust ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65973414/

相关文章:

hadoop - 找不到 hadoop 安装 : $HADOOP_HOME must be set or hadoop must be in the path

rust - 尝试在 Rust 程序中使用 &self

php - 从 curl POST 响应解析 XML

Python 请求未返回与浏览器请求/cURL 相同的 header

php - 使用 PHP 发出 HTTP/2 请求

Android 使用 busybox 命令行安装 apk

RubyMine 无法识别我的 Ruby 安装路径

loops - 为什么 `while let Some(variable) = ...` 不重新分配 `variable` ?

function - 局部函数访问外部变量

PHP CURL CURLOPT_SSL_VERIFYPEER 被忽略