MacOS 升级14.4.1后vscode无法远程连接

今天上班第一天,开始提示MacOS可以升级,顺手就点击了升级重启,版本显示 14.4.1 (23E224)
同时今天vscode升级到了1.88

此时大多数的VSCODE远程服务器无法连接,不管用不用VPN都不可以,报错大致包括如下信息

hostname contains invalid characters

The editor could not be opened due to an unexpected error: ENOPRO: No file system provider found for resourc

尝试清空knowhost和远程的vscode-server,都不起作用

最后的最后,在v2ex找到了原因

此次MacOS的SSH升级了,此时

ssh -V
OpenSSH_9.6p1, LibreSSL 3.3.6

这时如果你的名字是这样,Host 后面是中文或者有空格的

Host 百度服务器
    HostName aa.bb.cc.dd
    User root
    Port 22

就会报错,说无法连接,此时得改为英文且无空格的Host,这时就能连接了

错误原因是ssh也跟着升级了,现在ssh不支持中文和空格了

### 配置 VSCode Remote-SSH 连接远程服务器(MacOS) 要在 macOS 上使用 Visual Studio Code (VSCode) 通过 Remote-SSH 连接远程服务器,需要完成以下步骤: #### 1. 安装 Remote-SSH 扩展 首先,确保在 VSCode 中安装了 Remote-SSH 扩展。打开 VSCode,点击左侧活动栏的扩展图标(或使用快捷键 `Cmd+Shift+X`),搜索 "Remote - SSH" 并安装该扩展。 #### 2. 配置 SSH 连接 接下来,需要配置 SSH 连接以实现与远程服务器的通信。编辑本地的 SSH 配置文件 `~/.ssh/config`,添加远程服务器的连接信息。例如: ```ssh Host my-remote-server HostName 192.168.1.100 User your_username IdentityFile ~/.ssh/id_rsa ForwardAgent yes ``` 其中: - `HostName` 是远程服务器的 IP 地址。 - `User` 是远程服务器的登录用户名。 - `IdentityFile` 是本地 SSH 私钥文件的路径。 - `ForwardAgent` 允许将本地的 SSH 代理转发到远程服务器,便于在远程服务器上使用本地的 SSH 密钥。 #### 3. 生成 SSH 密钥对(如未有) 如果尚未生成 SSH 密钥对,可以在终端中运行以下命令: ```bash ssh-keygen -t rsa -b 4096 ``` 按照提示生成密钥对后,将公钥文件 `~/.ssh/id_rsa.pub` 的内容添加到远程服务器的 `~/.ssh/authorized_keys` 文件中。 #### 4. 连接远程服务器 在 VSCode 中,点击左下角的远程连接图标(或使用快捷键 `Cmd+Shift+P`),选择 "Remote-SSH: Connect to Host...",然后选择之前配置的 `my-remote-server`。VSCode 将会通过 SSH 连接远程服务器,并在远程服务器上安装 `.vscode-server` 文件夹以支持远程开发功能。 #### 5. 解决常见问题 如果在连接过程中遇到远程服务器无法创建 `.vscode-server` 文件夹的问题,可以尝试删除远程服务器上的现有 `.vscode-server` 文件夹: ```bash rm -rf /home/your_username/.vscode-server ``` 删除后,重新尝试连接VSCode 会自动重新创建该文件夹。 #### 6. 确保远程服务器支持 Bash(或其他兼容 Shell) 如果远程服务器的默认 Shell 不是 Bash,可能会导致连接失败。可以通过修改远程服务器的默认 Shell 或在 `.bashrc` 文件中添加必要的环境变量来解决此问题。 ### 示例配置 以下是一个完整的示例配置,展示了如何在 macOS 上配置 VSCode Remote-SSH 连接远程服务器: ```ssh Host my-remote-server HostName 192.168.1.100 User your_username IdentityFile ~/.ssh/id_rsa ForwardAgent yes ``` 在 VSCode 中,选择 "Remote-SSH: Connect to Host...",然后选择 `my-remote-server`,即可成功连接远程服务器。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值