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

news2024/11/15 10:05:52

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

在这里插入图片描述

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

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

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

文章目录

    • 情形1:连接不上前,没有弹出过输入密码的框
    • 情形2:输入密码之后显示连接不上

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

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

  1. 首先要考虑的是网络原因。尝试在主机上ping虚拟机或服务器的ip地址,ip地址可以使用ifconfig或者ipconfig指令查看。如果ping不通且使用的是虚拟机,转2;如果ping不通且使用的是服务器,转5;如果ping得通,转6;
    ping不通的图

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

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

  4. 有个解决办法非常诡异,但确实百试百灵:尝试重启虚拟机的网卡。具体操作方式是搜索“网络连接”,如下图所示,禁用再启用虚拟机相关的网卡,过一分钟左右再次尝试ping。如果ping得通,转5;如果还是ping不通,可以考虑去找找windows的VMware相关的网络服务有没有启动,具体搜索“服务”,如果全都是对的但是还是ping不通,我就没办法了。
    在这里插入图片描述

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

  6. 尝试在终端中ssh连接服务器或主机,ssh [用户名]@[ip地址] -p [端口号,默认是22]。连不上,转7;连得上,转8。
    在这里插入图片描述

  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。
    在这里插入图片描述

  10. 如果还弹不出来,还有一种极端情况——VScode新建连接时,有时会弹窗要选择服务器的系统类型,可选项有Linux、Windows和MacOS,这个选错了的话,即使网络环境最终被修好了,VScode也无法识别对面的服务器或者虚拟机是什么系统,从而导致连接失败。解决方法是左下角点开设置,搜索remote platform,把平台改对:
    在这里插入图片描述

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

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

  1. 检查密码是否输入错误,如果输入对了还是连不上,转2。
  2. 如果这是你首次连接或异地、异机器连接,转3;如果你以前连过这个服务器或虚拟机,是突然连不上的,转5。
  3. 检查是否是服务器或虚拟机存储空间满了。VScode连接后会安装相关插件,所以很可能是装到一半没存储空间了所以无法连接。如果真的满了,解决办法是先用终端先连上,腾出一部分空间;如果不是这个原因,转4。
  4. 检查服务器或虚拟机上是否存在你的用户目录,检查方式是cd ~看看有没有反应。VScode连接后会安装相关插件,安装的路径默认是~/.vscode,但是有的系统它新安装的时候真没有自动创建用户目录~,这时候就需要手动创建,并且要将这个文件夹的所有者用chown设置成自己这个用户。如果不是这个原因,转5。
  5. 可能是距离上次连接的时间太长了或网络信号弱,自动断开了,点Retry重连就行。如果不行,我目前没有别的解决办法了,可以把报错在评论区发给我看一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/909442.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL基础篇 (三)

函数 回顾学过的函数 countavgsumminmax 数值函数 做数值运算的 演示 #ABS(X)SELECT ABS(0); #SIGN(X)SELECT SIGN(-10); #SQRT(X)SELECT SQRT(4); #LEAST(value1,value2,...)SELECT LEAST(10,20,15);字符串函数 做字符串处理(CONCAT()) 演示 #CO…

HCIP学习--三层架构

未完成 网关作为了一个广播域的中心出口;生成树的根网桥也是一棵树的中心,也是流量的集合点; 若将两者分配不同的设备将导致网络通讯资源浪费,故强烈建议两者在同一台汇聚层设备上 举个例子 看下图若VLAN2要去找VLAN3设备需要…

java+springboot+mysql医院预约挂号管理系统

项目介绍: 使用javaspringbootmysql开发的医院预约挂号管理系统,系统包含超级管理员、管理员、医生、患者角色,功能如下: 超级管理员:管理员管理;用户管理;科室管理;床位管理&…

问道管理:沪指弱势震荡跌0.38%,金融、地产等板块走弱,算力概念等活跃

21日早盘,沪指盘中弱势震荡下探,创业板指一度跌逾1%失守2100点;北向资金小幅净流出。 截至午间收盘,沪指跌0.38%报3120.18点,深成指跌0.24%,创业板指跌0.62%;两市算计成交4238亿元,…

钛合金为何成为iPhone 15 Pro材料首选?

多年来,iPhone Pro一直采用厚重的钢框架,但不会持续太久。 有了iPhone 15 Pro,苹果可能会从钢框架转向钛框架,这不仅仅是因为它听起来更酷。钛比钢有很多优点,尤其是它更轻,这将解决iPhone Pro与普通iPhon…

Nvidia Jetson 编解码开发(3)解决H265解码报错“PPS id out of range”

1.问题描述 基于之前的开发程序 Nvidia Jetson 编解码开发(2)Jetpack 4.x版本Multimedia API 硬件编码开发--集成encode模块_free-xx的博客-CSDN博客 通过Jetson Xavier NX 硬编码的H265发出后, 上位机断点播放发出来的H265码流, 会报“PPS id out of range” 错误 …

有没有免费格式转换工具推荐?PDF转化为PPT的方法

在当今职场生活中,掌握文件格式转换技能变得异常重要。将PDF文档转换为PPT格式可以在演讲、报告等场合更好地展示和传达信息,为我们的专业形象增添亮点,接下来我们可以一起来看一下“有没有免费格式转换工具推荐?PDF转化为PPT的方法”相关的…

使用kubeadm安装和设置Kubernetes(k8s)

用kubeadm方式搭建K8S集群 kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。 这个工具能通过两条指令完成一个kubernetes集群的部署&#xff1a; # 创建一个 Master 节点 kubeadm init# 将一个 Node 节点加入到当前集群中 kubeadm join <Master节点的IP和端口…

2023 网络建设与运维 X86架构计算机操作系统安装与管理题解

任务描述: 随着信息技术的快速发展,集团计划2023年把部分业务由原有的X86架构服务器上迁移到ARM架构服务器上,同时根据目前的部分业务需求进行了部分调整和优化。 一、X86架构计算机操作系统安装与管理 1.PC1系统为ubuntu-desktop-amd64系统(已安装,语言为英文),登录用户…

基于深度学习的图像风格迁移发展总结

前言 本文总结深度学习领域的图像风格迁移发展脉络。重点关注随着GAN、CUT、StyleGAN、CLIP、Diffusion Model 这些网络出现以来&#xff0c;图像风格迁移在其上的发展。本文注重这些网络对图像风格迁移任务的影响&#xff0c;以及背后的关键技术和研究&#xff0c;并总结出一…

*看门狗1

//while部分是我们在项目中具体需要写的代码&#xff0c;这部分的程序可以用独立看门狗来监控 //如果我们知道这部分代码的执行时间&#xff0c;比如是500ms&#xff0c;那么我们可以设置独立看门狗的 //溢出时间是600ms&#xff0c;比500ms多一点&#xff0c;如果要被监控的程…

解决`java.lang.NoClassDefFoundError`在Nacos和Spring Boot集成中的问题

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

财务数据分析用什么软件好?奥威BI自带方案

做财务数据分析&#xff0c;光有软件还不够&#xff0c;还需要有标准化的智能财务数据分析方案。奥威BI数据可视化工具就是这样一款自带智能财务数据分析方案的软件。 ”BI方案“&#xff0c;一站式做财务数据分析 奥威BI数据可视化工具和智能财务分析方案结合&#xff0c;可…

一套基于C#语言开发的LIMS实验室信息管理系统源码

实验室信息管理系统&#xff08;LIMS)是指帮助实验室组织和管理实验数据的计算机软件系统&#xff0c;它将实验室操作有机地组织在一起&#xff0c;以满足实验室工作流程的所有要求。它能以不同的方式支持实验室的工作&#xff0c;从简单的过程(如样品采集和入库)到复杂的流程(…

抖音短视频SEO矩阵系统源码开发及开发者思路分享......

抖音矩阵号/抖音短视频SEO矩阵系统源码开发及开发者思路分享: 短视频获客系统支持短视频智能剪辑、短视频定时发布&#xff0c;短视频排名查询及优化&#xff0c;智能客服等&#xff0c;那么短视频seo系统开发时需要开发哪些功能呢&#xff1f;今天我就跟大家分享一下我们的开发…

数学建模及数据分析 || 4. 深度学习应用案例分享

PyTorch 深度学习全连接网络分类 文章目录 PyTorch 深度学习全连接网络分类1. 非线性二分类2. 泰坦尼克号数据分类2.1 数据的准备工作2.2 全连接网络的搭建2.3 结果的可视化 1. 非线性二分类 import sklearn.datasets #数据集 import numpy as np import matplotlib.pyplot as…

数字孪生技术对旅游行业能起到什么作用?

随着疫情对我们生活影响的淡化&#xff0c;旅游行业迎来了新的春天&#xff0c;暑期更是旅游行业的小高潮&#xff0c;那么作为一个钻研数字孪生行业的小白&#xff0c;本文就着旅游的话题以及对旅游的渴望带大家一起探讨一下数字孪生对智慧旅游发展的作用~ 数字孪生作为一种虚…

创建型(四) - 原型模式

一、概念 原型模式&#xff08;Prototype Pattern&#xff09;&#xff1a;利用对已有对象&#xff08;原型&#xff09;进行复制&#xff08;或者叫拷贝&#xff09;的方式来创建新对象&#xff0c;以达到节省创建时间的目的。 使用场景&#xff1a;如果对象的创建成本比较大…

安防视频云平台EasyNVR视频汇聚平台硬件无法进入服务器的问题处理方法

EasyNVR是基于RTSP/Onvif协议的视频接入、处理及分发的安防视频云平台&#xff0c;可提供的视频能力包括&#xff1a;设备接入、实时视频直播、录像、云存储、录像回放与检索、告警、级联等&#xff0c;平台可支持将接入的视频流进行全平台、全终端的分发&#xff0c;分发的视频…

【C++】string的讲解

&#x1f3d6;️作者&#xff1a;malloc不出对象 ⛺专栏&#xff1a;C的学习之路 &#x1f466;个人简介&#xff1a;一名双非本科院校大二在读的科班编程菜鸟&#xff0c;努力编程只为赶上各位大佬的步伐&#x1f648;&#x1f648; 目录 前言一、string类的构造函数1.1 stri…