由于最近在使用 npm 去按照东西,本地挂了宿主机的代理去跑,在 /etc/profile 中通过 export 指定了代理的路径:
如:
export http_proxy="http://192.168.0.73:10809"
export https_proxy="https://192.168.0.73:10809"
export all_proxy="https://192.168.0.73:10809"
当使用 vscode 的 remote-ssh 去打开远程文件夹项目的时候,相当于创建一个会话,每次打开 vscode,都创建一个 ssh 的会话,当然会加载 /etc/profile 下的配置,当然就使代理生效了,代理生效 也会出现 vscode git 拉取 代码 gnutls_handshake() failed 的问题,所以,我们需要编辑 /etc/profile 中的上述代理配置注释掉,重新 用 vscode 的 remote-ssh 去打开文件会话;
如果还有问题,将 vscode 关闭,打开远程终端:
ps -ef | grep vscode
将 vscode 相关的进程kill掉,再重新打开vscode,打开 remote-ssh 远程文件夹,
这个时候重新 git 拉取和提交代码就正常了,这个问题主要由于设置代理引起,但是直接通过 unset http_proxy
unset https_proxy
是无法解决问题的,主要每次打开新会话,就重新读取 /etc/profile 中的配置,所以必须从根源 /etc/profile 去注释掉相关代理设置,才能从根本上解决问题。