vscode ssh远程连接失败问题及解决

2023-05-16

文章目录

    • 1. 问题
    • 2. 解决
      • 更新vscode及插件版本
      • 更新服务器端版本
      • 插件放到服务器
    • 修改.vscode-server默认目录
    • 参考链接

1. 问题

在用 VSCode 通过 Remote 插件,远程连接到开发服务器时,报错(无法连接)的处理过程。
一般是更新了vscode版本之后出现的,报错的种类有很多,但是只要是你之前能连接上,而最近连接不上了,那基本就是更新了vscode客户端版本,,而服务器没有对应更新版本导致。因为一般服务器都是内部的无法连外网。

2. 解决

更新vscode及插件版本

首先要更新vscode客户端到最新版。
然后对应的remote ssh插件,也要更新到最新版,不然可能不兼容,也会连接不上。

更新服务器端版本

当我们使用 Remote 连接到远程服务器时,在服务器会有一个 .vscode-server 的隐藏目录,该目录的作用,就是存放不同 VSCode 版本的远程连接信息。
找到这个目录

删掉整个.vscodeserver目录,然后重新生成(重新连接,失败后就重新生成了)
这时里面就只有一个bin文件
在这里插入图片描述

如果 VSCode 软件有更新,则会自动去下载对应版本的 vscode-server 软件,此时如果我们的 VSCode 有更新多个版本的话,就会在上述目录看到不同的 HASH 版本。

所以需要下载对应版本的vscode server插件
我们查看客户端版本
在这里插入图片描述
https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/stable
把上面连接的<COMMIT_ID>替换成 提交的最长的一串号,比如这个版本就得到下面的连接
https://update.code.visualstudio.com/commit:379476f0e13988d90fab105c5c19e7abc8b1dea8/server-linux-x64/stable
直接拷贝到浏览器就自动下载了

插件放到服务器

下载完毕后,放到服务器对应的版本路径下,应该是如下路径
.vscode-server/bin/379476f0e13988d90fab105c5c19e7abc8b1dea8
解压文件到当前目录下
tar -xvzf vscode-server-linux-x64.tar.gz --strip-components 1
解压完毕后,就可以删除多余的压缩包文件
rm vscode-server-linux-x64.tar.gz

重启客户端再次尝试连接就可以了

修改.vscode-server默认目录

vscode打开工作区之后,默认会在home目录下面产生一个.vscode-server文件夹,存放vscode的所有安装文件(插件)。

一般来讲,这个文件夹也就几个G的大小,但是如果是某些home目录space受限的设备(公用服务器),则需要将其更改。

假设你要把.vscode-server安装到一个指定目录/local/my。先进入home目录,先把.vscode-server整体拷贝到/local/my下面,然后删除home已有的.vscode-server文件夹。

然后在vscode上指定路径ip和路径
settings->Extensions->Remote-SSH -> Server Install Path
在这里插入图片描述

这里的key指的是host name,对应的value为你要设置的.vscode-server安装路径。注意,路径必须是绝对路径;而且,以上述为例,必须是"/test/location",而不能是"/test/location/"

参考链接

https://zhaochen.blog.csdn.net/article/details/119549327
https://blog.csdn.net/weixin_43301333/article/details/128503260

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vscode ssh远程连接失败问题及解决 的相关文章

  • 如何修复 CI/CD 上的 SSH Webpack 构建超时 (Gitlab)

    我已经创建了与 Gitlab 的 CI CD 集成 并且在运行 CI CD 时一直拖延 webpack 和资产的最终编译 这是针对 Linux 16 04 t2 small AWS 实例的 我很好奇这是否是内存 处理器问题 尽管如果我通过
  • 有没有办法使用 Paramiko 和 Python 来获取您连接的 SSH 服务器的横幅?

    有没有办法使用 Paramiko 和 Python 来获取您尝试连接的 SSH 服务器的横幅 我正在处理许多机器的超安全服务器设置过程 密码是通过预定义的密钥生成的 该密钥与 SSH 横幅一起打印出来 我可以访问将为我提供密码的实用程序 但
  • 使用 Github for Windows 通过 SSH 处理自己的私有 Git

    现在 我正在使用 msysgit 来使用 SSH 来处理存储在 ec2 Amazon 云服务器上的我自己的私有存储库 到目前为止 我已经能够通过 Git Bash 成功连接到这些存储库 使用 ssh keygen 创建 ssh rsa 公钥
  • 如何捕获密码提示

    我有以下代码 更新为包括 pexpect import sys import subprocess import pexpect print 0 ssh subprocess Popen ssh A t email protected cd
  • Jenkins Git 参数插件无法获取标签

    詹金斯版本 1 593 Git 参数插件 0 4 0 GIT 客户端插件 1 16 1 我使用私有 git 存储库 可以通过 ssh 访问 我的构建是参数化的 git参数是TAG TO BUILD 要构建的分支是refs tags TAG
  • pexpect 和 ssh:如何在 su - root -c 之后格式化一串命令

    我正在尝试迭代服务器和密码列表来更改一组服务器上的 sshd 配置 以便我可以使用无密码 SSH 密钥通过 root 登录 运行命令 我可以在 bash 中轻松完成此操作 但我正在尝试学习 Python 并且 显然 希望放弃手动输入密码 这
  • 无法验证主机真实性

    我第一次做git pull 在git中提示无法确定主机的真实性 与我生成的私钥相比 RSA密钥指纹不正确 我只是想知道如何更新它以便它读取正确的文件以及为什么它首先读取错误的指纹 我遇到了类似的问题 这意味着远程主机未知 不受信任 修复方法
  • 流浪家园慢

    我有一个基于 Laravel Homestead 的 vagrant 服务器 用于在本地测试我的 Laravel 站点 大部分情况下它运行得很好 然而 最近 我遇到了问题 它会停止几分钟 典型 到几个小时 罕见 这种情况每 15 分钟左右就
  • 安全地记住 bash 脚本中的 ssh 凭据[重复]

    这个问题在这里已经有答案了 假设我有一个 bash 脚本 它通过 ssh 在远程计算机上执行命令 Do something here ssh otheruser host command1 Do something else ssh oth
  • 如何配置 Ansible 跳过两个堡垒主机?

    我想编写一个 Ansible 剧本 使用 Ansible 2 7 5 它将在到达目标服务器之前跳过两个主机来执行诸如安装 docker 和 python 等操作 我能够让 Ansible 通过一台主机跳转到server1通过将其添加到我的h
  • 如何在 Python Paramiko 中配置 ssh StrictHostKeyChecking=no 的等效项

    我正在使用 Paramiko 通过 Python 脚本进行 sshing 我的ssh命令如下 ssh A o strictHostKeyChecking no
  • 使用脚本自动输入 SSH 密码

    我需要创建一个自动向 OpenSSH 输入密码的脚本ssh client 假设我需要通过 SSH 进入myname somehost用密码a1234b 我已经尝试过 bin myssh sh ssh myname somehost a123
  • Mac OS X 中 Bash 脚本中的 SFTP 命令

    我需要使用 SFTP 和 SSH 从 Mac 主机将文本文件传输到远程 PC freeSSH 这两个连接在本地网络中 那么有没有办法从 Bash 脚本内部运行 SFTP 命令 使用提供的用户名和密码 我已经尝试过一些脚本expect 但我没
  • 无法使用 git 配置文件进行 ssh

    我知道它被问了很多次 但我无法得到我的问题的答案 我正在尝试使用配置文件 ssh 到系统 配置文件是 Host qa HostName 10 218 70 345 User user IdentityFile C Users bean ss
  • 使用 paramiko 运行 Sudo 命令

    我正在尝试执行sudo使用 python paramiko 在远程计算机上运行命令 我尝试了这段代码 import paramiko ssh paramiko SSHClient ssh set missing host key polic
  • 使用 ChannelExec 的命令未执行 - Jsch

    我正在使用 Jsch 在服务器中创建一个文件并执行一些命令 对于文件创建 它工作正常 但是对于命令执行 则不然 它保持状态 1 仍在处理它 并永远保持该状态 这种情况发生在 shell 执行或我尝试成为 root 时 请按照以下方法操作 p
  • 自定义 SSH 端口上的 Git

    我的 VPS 提供商建议我将 SSH 端口保留为他们默认分配的自定义端口号 不是 22 问题是 虽然我知道我可以在创建远程配置时提供端口号 但在进行 Git 克隆时似乎无法提供相同的操作 我在用gitolite https wiki arc
  • ssh:连接到主机 bitbucket.org 端口 22:连接超时致命

    整个错误是 ssh connect to host bitbucket org port 22 Connection timed out fatal The remote end hung up unexpectedly 当我从位于不同服务
  • Emacs + 流浪汉 + plink

    我正在尝试让 emacs trapmp 在 Windows XP 下运行 以便在 Amazon EC2 实例上通过 putty plink 工作 用于执行此操作的文档很少 我可以找到部分文档 但没有一个文档能够解决实现此功能所需的所有步骤
  • 无法通过 Python 子进程进行 SSH

    我需要通过堡垒 ssh 进入机器 因此 该命令相当长 ssh i

随机推荐