JetBrains CLion C++ IDE连接wsl2(Ubuntu)时,报错"Unable to establish SSL connection"解决方案
clion连接wsl2官方教程如下
https://www.jetbrains.com/help/clion/how-to-use-wsl-development-environment-in-clion.html
【注】以下解决方案以安装好windows子系统wsl2为前提。(且官方脚本只适用于Ubuntu系统)
【注】解决问题只需看标题"问题解决方案"下的内容。
复现操作流程并记录报错
- 按照官方操作,在第3步前一切正常。
- 按照如图1官方教程操作进行到第3步时在windows子系统Ubuntu20.04LTS输入以下指令后报错
wget https://raw.githubusercontent.com/JetBrains/clion-wsl/master/ubuntu_setup_env.sh && bash ubuntu_setup_env.sh
- 报错内容:
分析错误原因并尝试解决
- 首先观察到这条指令由两部分组成,由&&连接两条指令。
- 将这条指令分成两条指令,指令a表示从jetbrains clion官方位置下载脚本"ubuntu_setup_env.sh",指令b表示在本地执行该脚本。
- 分别执行指令a和指令b,发现输入指令a时,仍然报错"Unable to establish SSL connection"。
- 报错内容为:无法建立ssl连接。由于https=http+ssl,我们将指令中的https替换为http,重新执行指令。
- 报错内容"HTTP request sent, awaiting response... 301 Moved Permanently","Unable to establish SSL connection."。(clion官方将此http连接永久转移至了https连接,问题仍未解决)
问题解决方案
- 在浏览器中输入链接 https://raw.githubusercontent.com/JetBrains/clion-wsl/master/ubuntu_setup_env.sh ,得到如下页面。
- 将页面所有内容复制进剪切板。
- 返回Ubuntu,输入以下指令(需要预先安装vim)
vim ubuntu_setup_env.sh
- 在vim编辑界面将剪切板的内容粘贴进来。(粘贴后需要检查以下粘贴内容是否完整)确保粘贴内容完整后,输入指令 !wq 保存文件。
- 继续执行指令b,bash ubuntu_setup_env.sh。(指令执行成功即问题已解决)
验证clion能否与wsl2正常连接
- 点击clion左上角 File,选择 Settings... 弹出以下界面。
- 选择 Build,Execution,Deployment -> Toolchains,点击中间顶部的+符号,选择wsl。
- 点击 Credentials 右边的齿轮按钮,进入SSH配置界面。
- Host处填"127.0.0.1",Port处填"2222"(官方脚本默认配置2222端口,可在Ubuntu中自行修改),Local port处不用填写,User name处填ubuntu子系统的用户名,Authentication type处选择"Password",Password处填User name对应的密码。
- 点击Test Connected,提示"Successfully connected!"表示连接成功。(若不成功,则检查ubuntu中的配置与clion中的配置是否对应)