【经验】VScode 远程 SSH 连接 Ubuntu 或 TrueNas 出错,Could not establish connection

这篇具有很好参考价值的文章主要介绍了【经验】VScode 远程 SSH 连接 Ubuntu 或 TrueNas 出错,Could not establish connection。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用VScode常常会碰到以下情况,Could not establish connection。

【经验】VScode 远程 SSH 连接 Ubuntu 或 TrueNas 出错,Could not establish connection,科普,bug,服务器,vscode,ubuntu,虚拟机

先介绍一下VScode远程连接和终端SSH连接的区别:终端直接用SSH连接时,只需要开启SSH服务,并消耗少量的内存即可;VScode连接时,会自动在服务器或虚拟机的用户目录(也就是~/.vscode-server)下安装相关插件,并且会启动一个vscode node,消耗的内存比终端直连要多一些。

我看网上查到的一些资料都蛮古老的,一篇说要配置Remote-SSH的config路径的的文章被转发了好多好多次,这个emm,在2023年,已经不需要配置了。遂写下现在可能会遇到的问题。

接下来,介绍一下我遇到过的所有原因,以及完整的排查思路,希望对你有所启发。

情形1:连接不上前,没有弹出过输入密码的框

注意:没有弹出要求输入密码的框,
说明VScode和服务器并没有成功地进行交互。
这个时候需要排查没有成功交互的原因。

  1. 首先要考虑的是网络原因。尝试在主机上ping虚拟机或服务器的ip地址,ip地址可以使用ifconfig或者ipconfig指令查看。如果ping不通且使用的是虚拟机,转2;如果ping不通且使用的是服务器,转5;如果ping得通,转6;
    【经验】VScode 远程 SSH 连接 Ubuntu 或 TrueNas 出错,Could not establish connection,科普,bug,服务器,vscode,ubuntu,虚拟机

  2. 主机和虚拟机不互通,多半是虚拟机网卡或防火墙有问题。如果虚拟机本身上不了网,请直接配置成NAT模式并通过这篇文章《Ubuntu虚拟机连不上网》解决上网问题再回来;如果可以上网,单纯是不互通,转3。

  3. 先排除是防火墙的原因,先关掉双方的防火墙。把虚拟机的防火墙直接关掉,自行搜索关闭xx系统防火墙的方式,Ubuntu的是sudo ufw disable;主机的防火墙一般不用管,但如果你怀疑是它的原因也可以关掉,Windows电脑的具体关闭方式就是搜索“防火墙和网络保护”,然后直接关。如果不是防火墙的原因,转4。

  4. 有个解决办法非常诡异,但确实百试百灵:尝试重启虚拟机的网卡。具体操作方式是搜索“网络连接”,如下图所示,禁用再启用虚拟机相关的网卡,过一分钟左右再次尝试ping。如果ping得通,转6;如果还是ping不通,可以考虑去找找windows的VMware相关的网络服务有没有启动,具体搜索“服务”,如果全都是对的但是还是ping不通,我就没办法了。
    【经验】VScode 远程 SSH 连接 Ubuntu 或 TrueNas 出错,Could not establish connection,科普,bug,服务器,vscode,ubuntu,虚拟机

  5. 主机与服务器不互通,多半是主机网卡或者双方防火墙有问题。极端情况下,服务器可能禁用了ping端口,这种情况考虑尝试别的网络连接方式,因此转7。其他的常见情况,一是该服务器有访问范围的限制,所以需要连上公司或学校的VPN才能访问;二是主机上不了网,可能连百度都访问不了;三是主机防火墙禁用了对服务器网段的访问,或者服务器防火墙禁了主机,这时需要关闭主机或服务器的防火墙。检查完之后能ping通了就转6。

  6. 尝试在终端中ssh连接服务器或主机,ssh [用户名]@[ip地址] -p [端口号,默认是22]。连不上,转7;连得上,转8。
    【经验】VScode 远程 SSH 连接 Ubuntu 或 TrueNas 出错,Could not establish connection,科普,bug,服务器,vscode,ubuntu,虚拟机

  7. ssh连不上通常是没开ssh服务或者ssh相关端口被禁用或更改。ubuntu虚拟机或服务器开启ssh服务的方式是sudo apt install openssh-serversystemctl start ssh。ssh端口被禁用请关闭防火墙,若更改请换个端口。
    极端情况1:服务器或虚拟机没内存了,可以考虑重启服务器或者虚拟机。
    极端情况2:ssh之前连接的时候,针对Are you sure you want to continue connecting (yes/no/[fingerprint])? 这个问题不小心选择了其他选项而不是yes,导致默认拒绝连接,此时可以去~/.ssh文件夹下删除know_hosts文件。
    连得上之后转8

  8. 到这里,应该是终端能够顺利使用ssh连接服务器或虚拟机了。此时你再去使用VScode连接服务器或虚拟机,就应该会发现起码能弹出输入密码的框了。如果可以,转情形2;如果还不可以,转9。

  9. 网络没问题了但还是交互不了,大概率是你的VScode的SSH连接配置文件写得有问题。一个简单的SSH连接配置文件示意如下图,应该包含Host、HostName、User,而Port默认是22,可加可不加。如果修正后可以弹出输入密码的框了,转情形2;如果还不可以,转10。
    【经验】VScode 远程 SSH 连接 Ubuntu 或 TrueNas 出错,Could not establish connection,科普,bug,服务器,vscode,ubuntu,虚拟机

  10. 如果还弹不出来,还有一种极端情况——VScode新建连接时,有时会弹窗要选择服务器的系统类型,可选项有Linux、Windows和MacOS,这个选错了的话,即使网络环境最终被修好了,VScode也无法识别对面的服务器或者虚拟机是什么系统,从而导致连接失败。解决方法是左下角点开设置,搜索remote platform,把平台改对:
    【经验】VScode 远程 SSH 连接 Ubuntu 或 TrueNas 出错,Could not establish connection,科普,bug,服务器,vscode,ubuntu,虚拟机

情形2:输入密码之后显示连接不上

注意:已经弹出要求输入密码的框,但还是没连上,
说明问题出在VScode应用程序在服务器或虚拟机上的行为上,
这个时候需要排查VScode究竟哪一步操作出现了问题。

注意:连接的时候点右下角的‘details’(如下图)一般就能看到详细的报错语句。

【经验】VScode 远程 SSH 连接 Ubuntu 或 TrueNas 出错,Could not establish connection,科普,bug,服务器,vscode,ubuntu,虚拟机

  1. 检查密码是否输入错误,如果输入对了还是连不上,转2。
  2. 如果这是你首次连接或异地、异机器连接,转3;如果你以前连过这个服务器或虚拟机,是突然连不上的,转5。
  3. 检查是否是服务器或虚拟机存储空间满了。VScode连接后会安装相关插件,所以很可能是装到一半没存储空间了所以无法连接。如果真的满了,解决办法是先用终端先连上,腾出一部分空间;如果不是这个原因,转4。
  4. 检查服务器设置。对于Ubuntu或者其他的命令行能控制的Linux操作系统,修改/etc/ssh/sshd_config文件中:AllowTcpForwarding yes,然后重启ssh服务;对于TrueNas,依次点开“服务”-“SSH”-“设置”,勾选“允许TCP端口转发”(如下图)然后保存,即可重新连接。如果还不行,转5。
    【经验】VScode 远程 SSH 连接 Ubuntu 或 TrueNas 出错,Could not establish connection,科普,bug,服务器,vscode,ubuntu,虚拟机

参考:VScode使用Remote-ssh时碰到错误 channel 3: open failed: administratively prohibited: open failed。文章来源地址https://www.toymoban.com/news/detail-753400.html

  1. 检查服务器或虚拟机上是否存在你的用户目录,检查方式是cd ~看看有没有反应。VScode连接后会安装相关插件,安装的路径默认是~/.vscode-server,但是有的系统它新安装的时候真没有自动创建用户目录~,这时候就需要手动创建,并且要将这个文件夹的所有者用chown设置成自己这个用户。如果不是这个原因,转6。
  2. 可能是距离上次连接的时间太长了或网络信号弱,自动断开了,点Retry重连就行。转7。
  3. 如果还不行,我目前没有别的解决办法了,可以把报错在评论区发给我看一下。

到了这里,关于【经验】VScode 远程 SSH 连接 Ubuntu 或 TrueNas 出错,Could not establish connection的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vscode ssh远程连接失败解决办法

    Vscode 通过remote - ssh连接远程ubuntu时出现\\\"192.168.x.x\\\" has fingerprint “SHA256:…”,如下图所示: 按照提示选择“continue”,然后输入正确密码却显示Permission Denied(以往连接都很顺利,没有出现过问题) 尝试根据报错提示找到解决问题的办法:   从输出的错误提示显示似乎是无

    2023年04月08日
    浏览(33)
  • 【VScode】安装配置、插件及远程SSH连接

    一、VSCode安装 二、配置安装插件 三、配置远程连接SSH 四、MinGW VS官网 Visual Studio Code - Code Editing. Redefined下载安装包: 配置字体为20 配置文件–首选项-设置-Font Size为20 设置 VSCode 的默认缩进,由2个空格改为4个空格 文件 - 首选项 - 设置 - 输入框搜索 Tab Size,将 2 改为 4 Edito

    2024年01月17日
    浏览(39)
  • Vscode配置ssh远程连接服务器

    环境工具 (1) 下载安装 Vscode (2) 阿里云服务器 配置过程 按照上图的1,2,3步骤安装:Remote-SSH插件 在vscode使用ctrl+shift+p快捷键,在工具栏输入Remote-SSH并选择 选择此配置文件 可以添加多个ssh,格式如下: Host xxxx HostName 192.168.1.1(自己服务器的IP地址) User root 使用过程 点击上图的图标

    2024年02月05日
    浏览(49)
  • VsCode SSH远程连接服务器【内网穿透公网连接】

    1.前言 记得笔者小时候看电视,看到影视角色总是用一个老式的键盘,噼里啪啦的在电脑屏幕上输入一行行字符,那时候觉得能这么操作电脑真的好帅,从而立下了长大以后也要这样使用电脑的志向。 长大以后,笔者的愿望终于实现,整天坐在电脑面前敲代码抓BUG;而小时候

    2024年02月03日
    浏览(49)
  • 「远程开发」VSCode使用SSH远程linux服务器 - 公网远程连接

    转发自cpolar内网穿透的文章:【Vscode远程开发】使用SSH远程连接服务器 「内网穿透」 远程连接服务器工具有很多,比如XShell、putty等,可以通过ssh来远程连接服务器,但这用于写代码并不方便,可能需要现在本地写好代码后再将源代码传送到服务器运行、服务器上的图片也无

    2024年02月06日
    浏览(46)
  • vscode远程ssh连接不稳定的解决方法

    在使用vscode的remote ssh插件远程连接服务器时很不稳定,改起代码来很麻烦。 在终端ping服务器的IP时显示没有丢包,在winscp、MobaXterm中使用ssh也能正常稳定地连接到服务器,这就表明问题出在vscode的ssh连接上,windows自带的openssh与vscode不兼容。 安装其他版本的openssh,这个方法

    2024年02月15日
    浏览(35)
  • C++系统笔记教程----vscode远程连接ssh

    Ubuntu20.24+VScode 如果没有linux系统,但是想用其编译,可以使用ssh远程连接。 首先进入vscode,打开远程连接窗口(蓝色的小箭头这) 选择连接到主机 选择添加新的SSH主机 输入SSH 然后点击下面的蓝色箭头,再次连接远程,就可以看到已经添加进去了,选择自己新添加的远程 输入

    2024年01月16日
    浏览(35)
  • VSCODE-SSH-REMOTE一直显示【正在连接远程】 连接缓慢

     vscode报错: Failed to write `remote.SSH.remotePlatform`: Error: 没有注册配置 remote.SSH.remotePlatform,因此无法写入 用户设置。 报错后连接服务器缓慢,发现是远程服务器插件与本地插件不匹配导致的,主要是中文插件,在远程服务器vscode中同样安装中文插件(其他本地插件服务器没有

    2024年02月04日
    浏览(39)
  • VSCode远程连接服务器(SSH免密登录)

            连接远程服务器的方式众多,本文将介绍基于VS Code的SSH免密登录方法。在开始SSH远程链接以前,您需要完成以下步骤: 1.以Windows平台为例,您需要在cmd终端(Win+R输入cmd)输入: 如果出现信息即代表Windows端的SSH配置完成。 2.Windows生成公钥的方法: 如果您可以在

    2023年04月26日
    浏览(55)
  • VsCode配置ssh免密远程连接服务器

    在我们日常开发学习的过程中,大多使用的都是linux系统,如果用linux上自带vim编辑器去开发,对大部分人来说都是不太习惯的,这时候我们就可以利用VsCode进行远程连接,下面是完整的配置过程。 1.安装Vscode 首先电脑要安装好VsCode,可以去VsCode官网(点我跳转)进行下载安装。

    2023年04月18日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包