2022年6月26日 VSCode远程SSH连接遇到的问题及解决

2023-05-16

前期准备

已配置完成服务端sshd启动,客户端产生ssh公钥、私钥,将公钥上传至服务端,以及ssh端口转发等,客户端能正常连接到服务端。

Linux-ssh隧道详解
图解SSH原理

使用VSCode连接远程服务器

下载Remote Development扩展,连接时在此命令后出现错误。(在VSCode的输出窗口,右侧选择Remote - SSH后可以看到)

[16:15:38.099] Running script with connection command: ssh -T -D 7733 localhost bash
[16:15:38.110] Terminal shell path: C:\Windows\System32\cmd.exe

之后出现错误:Connecting with SSH timed out.
之后搜索方法,尝试将超时时间从默认的15秒改成60秒,无效,60秒后还是超时;
尝试更改Remote - SSH扩展的设置,把remote.SSH.path改成Git的ssh(原先是Windows中的OpenSSH),无效;
尝试加入"remote.SSH.showLoginTerminal": true,无效;
尝试加入"remote.SSH.useLocalServer": true,无效。

分析与排查

将上面日志中的命令ssh -T -D 7733 localhost bash复制到PowerShell中运行,能正常连接;
把remote.SSH.path改成Git的ssh后,此处命令中的ssh会替换为带双引号的Git的路径,此时这个命令无法在PowerShell中运行,但在cmd中运行,仍能正常连接。

排查网络请求是否正常发出

开启WireShark,开始捕获,使用tcp.port == 22过滤,观察连接的请求是否成功发出,在PowerShell和cmd中运行的命令都能正常看到发出了请求,但在VSCode中多次重新连接仍无法看到请求发出,说明在请求发出之前就出现了问题。

排查ssh进程是否正常启动

开启Process Explorer,在VSCode开始连接的时候观察到ssh进程出现了一下马上消失了,于是重试,这次在ssh进程出现时快速双击打开详细信息窗口,发现是ssh -V查看版本信息的,这是VSCode的在报错的地方之前的命令。

[16:15:37.394] Checking ssh with “C:\Windows\System32\OpenSSH\ssh.exe -V”

而在此命令后ssh进程并未再次启动来开启连接。

之后注意到报错命令前的这行:

[16:15:38.110] Terminal shell path: C:\Windows\System32\cmd.exe

怀疑可能是通过cmd启动ssh的,于是在VSCode连接时观察是否有cmd进程,发现cmd进程并未启动。

排查终端是否正常启动

看到命令中的“Terminal”,同时注意到出现这行后VSCode下方的窗口会自动切换到“终端”的页面,且终端页面未出现任何字符,怀疑可能是这里的终端未成功启动,于是打开新的VSCode窗口,发现终端能正常启动,将此远程连接窗口关闭后终端也能正常启动,但开始远程连接后终端无法启动。过了一会,终端正常启动了。

解决

终于找到原因:终端启动较慢,还没启动好就超过60秒了,所以超时了。
于是更改超时时间,将60秒改为600秒,再次连接,终于能正常连接了。

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

2022年6月26日 VSCode远程SSH连接遇到的问题及解决 的相关文章

  • Github 多个帐户 - globalUserName 拒绝访问 individualUserName/repoName.git

    更新 2018 年 5 月 14 日我更新了我的操作系统并不得不重新启动我的机器 所以这显然搞乱了我对这个问题的修复 这似乎是暂时的 为了再次暂时解决这个问题 我必须执行以下操作 ran eval ssh agent s ssh add s
  • hg 存档到远程目录

    有没有办法通过 SSH 将 Mercurial 存储库存档到远程目录 例如 如果可以执行以下操作 那就太好了 hg archive ssh email protected cdn cgi l email protection path to
  • 如何使用 bash/expect 检查 SSH 登录是否有效

    我的团队管理着许多服务器 公司政策规定这些服务器上的密码必须每隔几周更改一次 有时 我们的官方密码数据库会因某种原因而过时 人们通常会忘记更新它 但有时我们要到几个月后才能识别这一点 因为我们并不总是使用每台服务器 我想编写一个脚本 从数据
  • 通过 SSH 隧道连接到 gitosis 服务器

    我的 MacBook 上有一个 SSH 隧道设置 就像这样 ssh o ServerAliveInterval 3 N L 22222 gitosis server 22 email protected cdn cgi l email pr
  • Paramiko 和伪 tty 分配

    我正在尝试使用 Paramiko 连接到远程主机并执行许多文本文件替换 i o e client exec command perl p i e s initial replaced g conf 其中一些命令需要作为 sudo 运行 这会
  • 如何避免权限被拒绝 (publickey) SSH 密钥 (Windows)

    我想通过 SSH 连接我的 ec2 但我收到这个错误 WARNING UNPROTECTED PRIVATE KEY FILE Permissions for F Config first1 pem are too open It is r
  • 在 bash 中使用 ssh 内的 Expect 执行 sudo

    我想创建一个脚本来自动在多个 Linux 主机上进行安装 我使用 ssh 密钥登录到主机 在登录中我想做一个 sudo 我正在尝试使用 Expect 我在站上有它 但是我的服务器上没有运行脚本 我该怎么做 这是我的尝试 但没有运气 bin
  • 将 ed25519 私钥 ssh 转换为 RSA 私钥

    我正在寻找使用将 ed25519 私钥转换为 rsa 私钥ssh keygen I found 这个有用的指南 https man openbsd org ssh keygen但我无法弄清楚如何指定输入格式为 ed25519 并且导出格式应
  • 有没有办法使用 Paramiko 和 Python 来获取您连接的 SSH 服务器的横幅?

    有没有办法使用 Paramiko 和 Python 来获取您尝试连接的 SSH 服务器的横幅 我正在处理许多机器的超安全服务器设置过程 密码是通过预定义的密钥生成的 该密钥与 SSH 横幅一起打印出来 我可以访问将为我提供密码的实用程序 但
  • python paramiko 模块中长时间运行的 ssh 命令(以及如何结束它们)

    我想运行一个tail f logfile使用 python 的 paramiko 模块在远程计算机上运行命令 到目前为止 我一直在尝试以下方式 interface paramiko SSHClient snip the connection
  • 为什么 ssh-agent 需要 root 访问权限?

    我刚刚安装了 Archbang 并尝试克隆我的 Git 项目 这需要 SSH 密钥 过去 我在 Ubuntu 和 RedHat 机器上遵循 Github 指南取得了成功 但由于某种原因 它在我的新 Arch 安装上不起作用 我已使用以下命令
  • 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 并且 显然 希望放弃手动输入密码 这
  • 通过 SFTP 克隆 Git 存储库

    每次我尝试克隆 Git 存储库时都会遇到致命错误 我运行这个 git clone sftp email protected cdn cgi l email protection git foobar git 我得到这个 fatal Unab
  • 如何在两个不同帐户之间设置无密码身份验证

    我们可以在两台机器的两种不同用途之间设置无密码身份验证吗 例如 计算机A有用户A 计算机B有用户B 我们可以设置密码 ssh 以便计算机 A 上的用户 A 使用其用户帐户 A 登录计算机 B 谢谢你 如果我理解你的问题 你能设置一下吗ssh
  • PHP shell_exec 使用 ssh 运行 shell 脚本

    我有一个 shell 脚本 使用 ssh 和密钥连接到另一台机器 因此它不需要用户名和密码 当我从命令行运行这个脚本时 它工作正常 但是当我从 php shell exec 运行这个脚本时 它不起作用 如果我与 PHP 建立 ssh 连接并
  • 使用脚本自动输入 SSH 密码

    我需要创建一个自动向 OpenSSH 输入密码的脚本ssh client 假设我需要通过 SSH 进入myname somehost用密码a1234b 我已经尝试过 bin myssh sh ssh myname somehost a123
  • 如何将命令作为参数传递给 ssh [重复]

    这个问题在这里已经有答案了 我的需要是让这个命令起作用 sshpass p XXXX ssh oStrictHostKeyChecking no email protected cdn cgi l email protection sudo
  • SSH 到 Openshift 服务器失败

    我正在 openshift 服务器上使用 jboss catridge 我希望与其他人共享此实例并添加其他用户的公钥 id rsa pub 当其他人尝试访问该实例时 他会收到以下错误 我在他的实例中尝试了同样的方法 但看到了同样的错误 与
  • 使用 paramiko 运行 Sudo 命令

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

随机推荐

  • C语言scanf()函数

    scanf 函数输出格式为 xff1a flags type scanf 函数从输入设备按照指定的类型输入对应类型的若干个数据 xff0c 遇到空格 制表符和回车时 xff0c 读取结束 和字母中间的数字表示最多允许读入的数量 scanf
  • 字符数组与字符串

    字符数组与字符串 一 字符串实际上是使用空字符 39 0 39 结尾的一维字符数组 二 字符数组实例运行结果 三 字符串实例运行结果 四 字符串的定义如果要构造一个字符串 用指针定义如果要处理一个字符串 用数组定义实例运行结果 五 字符串赋
  • C语言的输入、输出

    C语言的输入与输出 一 scanf 和 printf 函数实例运行结果 二 getchar 和 putchar 函数实例1运行结果实例2运行结果 三 gets 和 puts 函数实例运行结果 一 scanf 和 printf 函数 实例 s
  • C语言中操作字符串的函数

    C语言中操作字符串的函数 一 函数表二 strlen实例运行结果 三 strcmp实例运行结果 四 strcpy实例运行结果 五 stract实例运行结果 六 strchr实例运行结果 七 strstr 一 函数表 函数名函数功能strle
  • C语言—枚举

    枚举 枚举是一种用户定义的数据类型 xff0c 它用关键字 enum 以如下语法来声明 xff1a span class token keyword enum span 枚举类型名字 span class token punctuation
  • 将tensorflow训练好的模型移植到android

    将tensorflow训练好的模型移植到android上 说明 本文将描述如何将一个训练好的模型植入到android设备上 xff0c 并且在android设备上输入待处理数据 xff0c 通过模型 xff0c 获取输出数据 通过一个例子
  • C语言——结构体

    结构体 一 定义结构体二 声明结构体的形式第一种第二种第三种第四种第五种 三 结构体的初始化第一种运行结果 第二种运行结果 四 访问结构体成员五 结构体运算实例1运行结果 实例2运行结果 实例3运行结果 六 结构体指针实例1运行结果 实例2
  • 转置矩阵、对称矩阵、反对称矩阵以及向量的反对称矩阵

    一 转置矩阵 假设矩阵 A 如下表示 xff1a 则其转置矩阵表示为 xff1a 二 对称矩阵 若矩阵 B 与其转置矩阵相等 xff0c 则称矩阵 B 为对称矩阵 xff0c 如 xff1a 三 反对称矩阵 若矩阵 C 与其转置矩阵取负后相
  • Adobe Acrobat用鼠标滚轮浏览时滚动速度很慢解决办法

    点击 视图 页面显示 启用滚动
  • atan()函数与atan2()函数

    atan函数与atan2函数 一 atan 函数1 描述2 声明3 参数4 返回值5 头文件 二 atan2 函数1 描述2 声明3 参数4 返回值5 头文件 一 atan 函数 1 描述 表示 x 的反正切 2 声明 span class
  • vscode调整代码大小

    vscode调整代码大小 一 vscode整体放大二 只放大右侧的代码 一 vscode整体放大 依次点击 查看 外观 放大 xff0c 或者快捷键 Ctrl 43 61 二 只放大右侧的代码 依次点击 文件 首选项 设置 xff0c 或者
  • 计算机网络协议

    计算机网络协议 一 OSI七层协议二 TCP IP协议三 OSI与TCP IP总结四 数据的单位 一 OSI七层协议 OSI分层名称作用7应用层针对特定应用的协议 为应用程序提供服务并规定应用程序中通信相关的细节 包括文件传输 电子邮件 远
  • 删除 Microsoft Office Word 中页眉、页脚的横线

    一 问题描述 xff1a 上面有一条横线 二 解决办法 点击 开始 xff0c 再点击 样式 右下角的箭头 xff0c 或者直接快捷键 Alt 43 Ctrl 43 Shift 43 S 再点击 管理样式 打开之后 xff0c 根据自己的需
  • Latex画三线表

    Latex代码格式模板 begin span class token punctuation span table span class token punctuation span small span class token opera
  • VS Code(Visual Studio Code)中文注释乱码解决办法

    注释乱码 解决办法 xff1a 将设置中的 34 files autoGuessEncoding 34 项勾选上即可 结果
  • 显示远程计算机或设备将不接受连接的解决办法

    当你的电脑浏览器不能正常上网时 xff0c 显示 点击网络诊断 xff0c 显示远程计算机或设备将不接受连接 此时 xff0c 不要慌 解决办法 xff1a 1 右键点击左下角开始 xff0c 点击运行 xff0c 输入inetcpl cp
  • 错误报告规范

    PR 类型包括如下 类型范例BugFix BugFix 修正某个坏掉的功能HotFix HotFix 紧急修正某个奇怪的东西CS CS 修正 Coding StyleFeature Feature 写了某个新功能Update Update
  • Windows中使用7-Zip压缩或解压缩时报错解决:客户端没有所需的特权

    1 报错 2 解决办法 点击开始 xff0c 查看7 Zip 软件文件夹或者直接找到7 Zip 软件的安装路径 xff0c 电击以管理员身份运行 找到需要压缩或者解压缩的文件的位置 xff0c 完成 xff01
  • Spring Bean的配置方式

    在配置前先了解bean元素的相关属性 xff1a 作为 Spring 核心机制的依赖注入 xff0c 改变了传统的编程习惯 xff0c 对组件的实例化不再由应用程序完成 xff0c 转而交由Spring 容器完成 xff0c 在需要时注入应
  • 2022年6月26日 VSCode远程SSH连接遇到的问题及解决

    前期准备 已配置完成服务端sshd启动 xff0c 客户端产生ssh公钥 私钥 xff0c 将公钥上传至服务端 xff0c 以及ssh端口转发等 xff0c 客户端能正常连接到服务端 Linux ssh隧道详解 图解SSH原理 使用VSCo