Mat*_*us 62 github github-copilot
我安装了 GitHub copilot 但扩展不起作用,总是显示以下错误:
GitHub Copilot 无法连接到服务器。扩展激活失败:“证书链中的自签名证书”
来源:GitHub Copilot(扩展)Show Output log
我能做什么来解决这个问题?
Dre*_*020 79
Copilot 错误:\xe2\x80\x9c GitHub Copilot 无法连接到服务器。扩展激活失败:证书链 \xe2\x80\x9d 中的自签名证书通常是在企业网络后面使用 CoPilot 引起的。
\n大多数企业网络都有一个 \xe2\x80\x98Man-in-the-middle\xe2\x80\x99 设备,可以动态地打开所有离开家进入互联网的安全 SSL 流量。这确保他们可以检查任何离开的流量,包括您的网上银行。通常,自动化会清理流量,寻找盗窃公司机密或知识产权的行为并发出警报。如果需要的话,这一切都会被记录并进一步审查。
\n此操作会留下一个假证书链作为指纹。被调用站点的证书被替换为假证书,并且由公司\xe2\x80\x99s 自己的私有 CA 机构签名。因此,证书链中的自签名证书出现错误。
\n在任何公司设备(电话\\笔记本电脑)上,公司 CA 都已安装为受信任的 CA。因此,本地浏览器和其他桌面应用程序信任这个伪造的证书链 - 因此不要担心有人正在窥探您的安全网络流量(该公司确实拥有网络和设备)。
\n默认情况下,VSCode 不信任已安装的桌面证书,因此它注意到 GitHub 证书不再由受信任的公共 CA 机构签名。
\n正如Rypox上面所述,VSCode 扩展 \xe2\x80\x98Win-CA\xe2\x80\x99 (必须设置为 \xe2\x80\x98append\xe2\x80\x99 模式)解决了这个问题。它告诉 VSCode 也信任安装在员工桌面上的 CA\xe2\x80\x99s。这让 VSCode 再次高兴地信任假证书链。不需要“白名单”,也与“ VPN ”无关。但当然也不是那么明显。一个有趣的 CA 信任问题。
\n通过浏览器可以轻松确认其确实存在。转到任何外部站点(例如 Amazon)并查看站点 \xe2\x80\x9cCert\xe2\x80\x9d 以查看 CA\xe2\x80\x99 是谁(证书路径)。它应该 \xe2\x80\x98not\xe2\x80\x99 包含对您公司的任何引用。在您自己的个人笔记本电脑上查看公司网络外部的同一证书。
\n\xe2\x80\xa6 \xe2\x80\x9cbit 是 Matrix\xe2\x80\x9d 中的一个小故障,安装 Win-CA 有助于再次隐藏它,一切看起来都恢复正常。
\n小智 58
我对公司代理也有同样的问题。win -ca扩展解决了这个问题。
解决问题的步骤:
win-ca设置中,切换Inject到append模式(这不是默认模式)。PS:这是仅限 Windows 的解决方案。对于 Mac,请参阅这篇文章。
And*_*ich 29
对于任何 MacOS 用户,我发现 VSCode 扩展 linhmtran168.mac-ca-vscode 也可以提供帮助。它类似于前面提到的win-ca。
https://marketplace.visualstudio.com/items?itemName=linhmtran168.mac-ca-vscode
lee*_*eek 21
在 macOS 和 Linux 上,您可以使用此脚本对 Copilot 扩展进行猴子修补以使其正常工作:
更新: 还修复了副驾驶聊天错误:
对话请求出错。检查日志以获取更多详细信息。
_VSCODEDIR="$HOME/.vscode/extensions"
_COPILOTDIR=$(ls "${_VSCODEDIR}" | grep -E "github.copilot-[1-9].*" | sort -V | tail -n1) # For copilot
_COPILOTDEVDIR=$(ls "${_VSCODEDIR}" | grep "github.copilot-nightly-" | sort -V | tail -n1) # For copilot-nightly
_COPILOTCHATDIR=$(ls "${_VSCODEDIR}" | grep -E "github.copilot-chat-*" | sort -V | tail -n1) # For copilot-chat
_EXTENSIONFILEPATH="${_VSCODEDIR}/${_COPILOTDIR}/dist/extension.js"
_DEVEXTENSIONFILEPATH="${_VSCODEDIR}/${_COPILOTDEVDIR}/dist/extension.js"
_CHATEXTENSIONFILEPATH="${_VSCODEDIR}/${_COPILOTCHATDIR}/dist/extension.js"
if [[ -f "$_EXTENSIONFILEPATH" ]]; then
echo "Found Copilot Extension, applying 'rejectUnauthorized' patches to '$_EXTENSIONFILEPATH'..."
perl -pi -e 's/,rejectUnauthorized:[a-z]}(?!})/,rejectUnauthorized:false}/g' ${_EXTENSIONFILEPATH}
sed -i.bak 's/d={...l,/d={...l,rejectUnauthorized:false,/g' ${_EXTENSIONFILEPATH}
else
echo "Couldn't find the extension.js file for Copilot, please verify paths and try again or ignore if you don't have Copilot..."
fi
if [[ -f "$_DEVEXTENSIONFILEPATH" ]]; then
echo "Found Copilot-Nightly Extension, applying 'rejectUnauthorized' patches to '$_DEVEXTENSIONFILEPATH'..."
perl -pi -e 's/,rejectUnauthorized:[a-z]}(?!})/,rejectUnauthorized:false}/g' ${_DEVEXTENSIONFILEPATH}
sed -i.bak 's/d={...l,/d={...l,rejectUnauthorized:false,/g' ${_DEVEXTENSIONFILEPATH}
else
echo "Couldn't find the extension.js file for Copilot-Nightly, please verify paths and try again or ignore if you don't have Copilot-Nightly..."
fi
if [[ -f "$_CHATEXTENSIONFILEPATH" ]]; then
echo "Found Copilot-Chat Extension, applying 'rejectUnauthorized' patches to '$_CHATEXTENSIONFILEPATH'..."
perl -pi -e 's/,rejectUnauthorized:[a-z]}(?!})/,rejectUnauthorized:false}/g' ${_CHATEXTENSIONFILEPATH}
sed -i.bak 's/d={...l,/d={...l,rejectUnauthorized:false,/g' ${_CHATEXTENSIONFILEPATH}
else
echo "Couldn't find the extension.js file for Copilot-Chat, please verify paths and try again or ignore if you don't have Copilot-Chat..."
fi
Run Code Online (Sandbox Code Playgroud)
monkey-patch-copilot.sh然后另存为类似的东西chmod +x monkey-patch-copilot.sh。然后您应该能够运行:./monkey-patch-copilot.sh来应用补丁。
注:我不是原作者。这是在 Copilot 反馈论坛上找到的。
Sid*_*rth 14
我找到了一个针对 Intellij 的解决方案。我已在https://sidd.io/2023/01/github-copilot-self-signed-cert-issue/上发表了有关此内容的博客
在较高的层面上,我认为插件的架构可能是相同的:
IDE Native CoPilot Plugin---进行RPC调用--->NodeJS based CoPilot Agent
该NodeJS based CoPilot Agent代理对自签名证书有问题(至少在我的情况下)。
修复如下:
.pem如果尚未将其转换为格式.pem到NODE_EXTRA_CA_CERTS变量| 归档时间: |
|
| 查看次数: |
48376 次 |
| 最近记录: |