惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Blog — PlanetScale
Blog — PlanetScale
S
Security @ Cisco Blogs
G
GRAHAM CLULEY
L
LINUX DO - 热门话题
AWS News Blog
AWS News Blog
P
Privacy International News Feed
Cyberwarzone
Cyberwarzone
P
Proofpoint News Feed
腾讯CDC
美团技术团队
宝玉的分享
宝玉的分享
博客园 - 聂微东
小众软件
小众软件
T
Threat Research - Cisco Blogs
L
Lohrmann on Cybersecurity
雷峰网
雷峰网
T
Threatpost
The Hacker News
The Hacker News
P
Palo Alto Networks Blog
L
LangChain Blog
Cisco Talos Blog
Cisco Talos Blog
G
Google Developers Blog
V
Vulnerabilities – Threatpost
NISL@THU
NISL@THU
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Engineering at Meta
Engineering at Meta
T
Troy Hunt's Blog
F
Full Disclosure
博客园_首页
The Last Watchdog
The Last Watchdog
S
Secure Thoughts
H
Heimdal Security Blog
Hacker News: Ask HN
Hacker News: Ask HN
C
Check Point Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
PCI Perspectives
PCI Perspectives
Microsoft Security Blog
Microsoft Security Blog
S
Security Affairs
量子位
Cloudbric
Cloudbric
H
Hacker News: Front Page
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
L
LINUX DO - 最新话题
IT之家
IT之家
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Spread Privacy
Spread Privacy
Forbes - Security
Forbes - Security
Security Archives - TechRepublic
Security Archives - TechRepublic

晚花行乐

马克卡尼在2026年达沃斯论坛上的讲话(阅读材料) | 晚花行乐 鸡娃如何用力才是恰到好处 | 晚花行乐 读万卷书,行万里路的辩证关系 | 晚花行乐 反对培训机构掐尖招生 | 晚花行乐 小泽和建国会谈最后10分钟全文(阅读材料) | 晚花行乐 来看看 DeepSeek 怎么鸡娃 | 晚花行乐 谈谈基本功 | 晚花行乐 惠普 ProDesk SFF PC 各系列参数对比 | 晚花行乐 解决瘦客户机上安装 Debian 12 启动失败问题 | 晚花行乐 意拾喻言:老外写的文言文 | 晚花行乐 笠翁对韵中的典故(十三元) | 晚花行乐 谈谈中考取消四小门 | 晚花行乐 亚马逊云科技产品免费试用攻略(3) - 对象存储服务 | 晚花行乐 在 Windows 10 LTSC 版本上安装 WSL2 | 晚花行乐 Debian 12 的常用配置项 | 晚花行乐 在 Debian 12 上安装 Nvidia 显卡驱动程序 | 晚花行乐 解决 Debian 12 关机失败问题 | 晚花行乐 观看巴黎奥运会有感 | 晚花行乐 在 Windows10 上安装惠普旧打印机驱动程序 | 晚花行乐 欢迎关注公众号:晚花行乐 | 晚花行乐 如何编写拼写检查器 | 晚花行乐 亚马逊云科技产品免费试用攻略(2) - 云服务器 | 晚花行乐 Pandas 中 axis 参数的理解(附实例) | 晚花行乐 我打算命个名,叫什么什么 Manager | 晚花行乐 上海武康路历史建筑一览 | 晚花行乐 Python 实现简单的数学表达式解析并处理 | 晚花行乐 观看马拉松的感悟 | 晚花行乐 Python 保存 Cookies 到文件并再次读取 | 晚花行乐 如何为 Hugo 静态网站添加评论功能 | 晚花行乐 Linux 共享打印服务 CUPS | 晚花行乐 如何为 Hugo 静态网站添加搜索功能 | 晚花行乐 解决 CSV 文件的第一列不能解析 | 晚花行乐 亚马逊云科技产品免费试用攻略(1) - 注册账户 | 晚花行乐 第二幕 Atma 的闲聊 | 晚花行乐 第二幕野蛮人的语音 | 晚花行乐 古入声和普通话平声对照 | 晚花行乐 第一幕的背景音乐 | 晚花行乐 第二幕亚马逊的语音 | 晚花行乐 第一幕的亚马逊的语音 | 晚花行乐 第一幕的野蛮人的语音 | 晚花行乐 MacOS 的彩蛋:Here's to the crazy ones | 晚花行乐 笠翁对韵的基本知识 | 晚花行乐 笠翁对韵中的典故(十二文) | 晚花行乐 笠翁对韵中的典故(十一真) | 晚花行乐 笠翁对韵中的典故(十灰) | 晚花行乐 杭州景点的楹联 | 晚花行乐 adb keycode 大全 | 晚花行乐 Scikit-learn 学习笔记(0)名词术语 | 晚花行乐 Scikit-learn 学习笔记(3)监督学习的例子 | 晚花行乐 SQLite 文档的学习笔记(1)长期支持计划 | 晚花行乐 SQLite 文档的学习笔记(2)测试方法 | 晚花行乐 笠翁对韵中的典故(九佳) | 晚花行乐 Ansible 如何检查一个程序的版本 | 晚花行乐 Ansible 如何检查一个文件夹是否存在 | 晚花行乐 pip 配置文件详解 | 晚花行乐 Ansible 如何检查一个URL是否正常 | 晚花行乐 Ansible 如何修改 iptables 规则 | 晚花行乐 Ansible 指定 playbook 运行的主机 | 晚花行乐 Ansible 如何清空文件夹 | 晚花行乐 Ansible 如何在本机执行命令 | 晚花行乐 笠翁对韵中的典故(八齐) | 晚花行乐 Python 中 Defaultdict 的理解 | 晚花行乐 《伊索寓言》电子书 | 晚花行乐 菲伯尔钢琴伴奏:第二册 | 晚花行乐 Python 的 Keyword-Only Arguments 理解 | 晚花行乐 Python 的 函数参数处理机制 | 晚花行乐 瓦瑞夫在第一幕的闲聊 | 晚花行乐 瓦瑞夫在第一幕的任务提示 | 晚花行乐 第一幕的女巫语音 | 晚花行乐 《Fluent Python》 读书笔记:文本和字节序列 | 晚花行乐 第一幕的罗格语音 | 晚花行乐 第一幕的圣骑士语音 | 晚花行乐 第一幕的男巫语音 | 晚花行乐 第一幕的旁白 | 晚花行乐 第一幕的恶魔 | 晚花行乐 Python 中 Element Tree 的理解 | 晚花行乐 《Fluent Python》 读书笔记:字典和集合 | 晚花行乐 笠翁对韵中的典故(七虞) | 晚花行乐 笠翁对韵中的典故(五微) | 晚花行乐 笠翁对韵中的典故(六鱼) | 晚花行乐 笠翁对韵中的典故(一东) | 晚花行乐 笠翁对韵中的典故(二冬) | 晚花行乐 笠翁对韵中的典故(三江) | 晚花行乐 笠翁对韵中的典故(四支) | 晚花行乐 姜太公钓鱼 | 晚花行乐 武王建立周朝 | 晚花行乐 大禹治水 | 晚花行乐 尧舜让位 | 晚花行乐 黄帝战蚩尤 | 晚花行乐 上下五千年-精简版 | 晚花行乐 成功修复鼠标按键 | 晚花行乐 横向的Word文档怎么加页眉页脚 | 晚花行乐 商标通用化的故事:商标代替商品名 | 晚花行乐 搜索空文件夹的批处理程序 | 晚花行乐 Sn0wbreeze不能运行? | 晚花行乐 天线的驻波比 | 晚花行乐 天线参数:增益Gain | 晚花行乐 天线参数:方向图Radiation pattern | 晚花行乐 本拉登别墅的Google Earth坐标 | 晚花行乐 宜家帕克斯(PAX)衣柜的拼装过程 | 晚花行乐
解决 VS Code 自动更新版本后卡在连接界面 | 晚花行乐
2024-09-02 · via 晚花行乐

Visual Studio Code 自动更新后,会遇到连不上远程主机的问题,

现象

vscode 的 Remote - SSH 插件 用来直接编辑远程主机的文件,但是连接远程主机时,会出现连接超时的错误。

状态栏提示 Opening Remote

浮动框提示 Setting up SSH Host xxx: Copying VS Code Server to host with scp.

看浮动框的提示,似乎是要往远程主机(host)上拷贝 VS Code Server

VS Code Server

VS Code Server 是运行在远程主机上的 Node.js 服务,可以让开发人员从自己的桌面端通过 VS Code 编辑器连接到远程主机上,查看和编辑远程主机的文件系统,拥有编辑本地文件的体验。

VS Code 的 Remote - SSH 的插件简单拓扑如下:(与 Remote WSL 原理相同)

VS Code 编辑器远程主机VS Code Server编辑文件终端运行代码插件管理调试器请求

( ☝ VS Code Server )

VS Code Server 的版本必须和 VS Code 编辑器 的版本号保持一致。这里的版本号不是粗略的、类似 1.29 之类的写法,而是精确到 commit id 的。

VS Code 编辑器的 commit id 可以从“帮助”菜单上获取:

深入调查

查看 VS Code 编辑器的输出 log

[20:44:53.523] > Installing to /home/user/.vscode-server/bin/eaa41d57266683296de7d118f574d0c2652e1f
> c4...
> 08db8f41e054%%1%%
> Downloading with wget
[20:44:53.671] > wget download failed
> ERROR: cannot verify update.code.visualstudio.com's certificate, issued by ‘CN=M
> icrosoft Azure RSA TLS Issuing CA 08,O=Microsoft Corporation,C=US’: Self-signed 
> certificate encountered. To connect to update.code.visualstudio.com insecurely, 
> use `--no-check-certificate'.
...

[20:44:56.829] Using cwd: file:///c%3A/Users/lf/AppData/Local/Temp/vscode_server_1725281096661
[20:44:56.829] Terminal shell path: C:\Windows\System32\cmd.exe
[20:44:57.143] > C:\Windows\System32\cmd.exe
[20:44:57.164] > g:/home/user/.vscode-server/bin//eaa41d57266683296de7d118f574d0c2652e1fc4: No such
>  file or directory


可以看到在远端主机上尝试用 wget 下载 server 程序,但是没有下载成功。按照预定的储存位置寻找,当然不会找到。所以一直卡在这里:

vscode 编辑器远程主机下载好了吗还没呢!

VS Code Server 的目录结构

远程主机上,VS Code Server 的存储目录结构如下:

${Home}
  └─ .vscode-server
      ├─ data/
      ├─ extensions/
      └─ bin
           ├─ eaa41d57266683296de7d118f574d0c2652e1fc4
           ├─ 118f574d0c2652e1fc4eaa41d57266683296de7d
           └─ 2652e1fc4eaa41d57266118f574d0c683296de7d

其中 ${Home}/.vscode-server/bin/ 目录下以 VS Code 编辑器 commit id 为名称的文件夹

解决问题

微软提供了另一个新的下载地址: https://vscode.download.prss.microsoft.com,在写本文的时候,是可以使用的。

下面脚本根据 阿亮@zhihu 上提供的脚本,更新了新的下载地址,亲测可用。

#!/bin/bash

echo "ps:目前只支持x64场景,arm场景请酌情修改脚本."
read -p "请输入你vscode的commit id : " commit
if [ ! -z "$commit" ]; then
test -d ${HOME}/.vscode-server/bin/$commit || mkdir -p ${HOME}/.vscode-server/bin/$commit
echo "通过国内加速站下载vscode文件"
mkdir -p ~/vscode-backup
wget --no-check-certificate https://vscode.download.prss.microsoft.com/dbazure/download/stable/$commit/vscode-server-linux-x64.tar.gz -O ~/vscode-backup/vscode-server-linux-x64.tar.gz
tar -zxvf ~/vscode-backup/vscode-server-linux-x64.tar.gz -C ~/vscode-backup
cp -rf ~/vscode-backup/vscode-server-linux-x64/* ${HOME}/.vscode-server/bin/$commit/
echo "vscode配置完毕"
rm -rf ~/vscode-backup/
echo "清理旧文件"
else
echo "请查看vscode的关于找到对应的版本commit id"
fi

运行效果如下:

关闭自动更新

如果不想每次自动更新后都手动执行一次脚本,那么可以关闭 VS Code 的自动更新。

打开 Setting, 搜索 update 关键字,按照图中红框里的选项配置即可。

各位读后有什么想法,请在下方留言吧!如果对本文有疑问或者寻求合作,欢迎 联系邮箱邮箱已到剪贴板

精彩评论

参考资料

  1. https://zhuanlan.zhihu.com/p/655289233