VSCode使用RemoteSSH连接远程服务器

最近在搭建一套VSCode的远端开发环境,主要想解决C/C++代码不能100%跳转的问题。

闲言少叙,安装过程奉上。

2.1安装SSH

由于我们是使用SSH连接远程服务器,因此Windows需要支持SSH。

可以通过安装Git来获取SSH功能,如何验证使用Win+R,输入cmd打开控制窗口,直接输入ssh,如下提示,则代表SSH已经安装成功;

2.2添加插件

使用VSCode最方便的一点,就是有很多插件可供选择。

本次我们需要使用Remote-SSH插件,长这个样子,不要搞错了

安装完插件后,在侧边栏可以看到“远程资源管理器”图标。

2.3配置SSH密钥

目的:将本机添加到远程服务器连接白名单,让服务器知道是已认证的电脑在连接。过程类似于GitHub网站添加本地电脑的SSH公钥。

1、使用如下命令,生成SSH公钥文件。如果已经生成,则可直接使用,跳到步骤二。

#方法一ssh-keygen#方法二,参考使用Git生成密钥ssh-keygen-trsa-C"youremail@example.com"2、一般生成的密钥文件,路径为:C:\Users\user\.ssh,找到公钥文件id_rsa.pub,复制到远程服务器根目录的.ssh文件夹中。

(1)根目录,不一定非要是/.ssh路径,可以是自己的用户目录,类似这样:/zhaochen/.ssh。

(2).ssh文件夹没有怎么办新建一个文件夹,命名为.ssh即可。同时要确认远程服务器是否支持SSH,如果此时正是通过SSH方式连接的,那肯定是支持了。

(1)连接到远程服务器

#标准命令,输入后会提示输入密码sshusername@ip-pport#示例,注:SSH默认为22端口sshzhaochen@192.168.1.1-p22方法二:已经使用SSH方式连接到服务器(2)进入.ssh目录,使用如下命令,生成authorized_keys文件。

catid_rsa.pub>authorized_keys4、在cmd窗口,再次尝试如下,可以看到无需密码,直接连上服务器

1、在.ssh文件夹下,新建authorized_keys文件;

2、将id_rsa.pub文件中的内容全部复制到authorized_keys文件即可;

2.4添加配置文件

目的:配置VSCode连接远程服务器的一些基本信息。

1、点击左侧的“远程资源管理器”图标,点击右上角的小齿轮(设置)

2、在弹出来的窗口中,选择第一个config文件打开,参考下图,填写对应信息

(1)参考上述配置,释义如下

Host<远程主机名称1>HostName<远程主机1IP>User<用户名1>PortIdentityFile<本机SSH私钥路径>ForwardAgentyesHost<远程主机名称2>HostName<远程主机2IP>User<用户名2>PortIdentityFile<本机SSH私钥路径>ForwardAgentyes2.5连接测试

1、进入“远程资源管理器”选项,右键点击主机名;

2、选择一种方式,连接到远程服务器,进行测试;

3、如果连接成功,左下角则会显示当前已连接的主机名。

参考资料

3.1插件安装

当我们搭建好RemoteSSH环境后,VSCode支持在远程服务器安装插件。

此时就可以根据自己的开发习惯,将插件安装到不同地方了。

3.2连接报错

如果错误提示如下:

3.3扩展ssh连接失败

SSH连接远程服务器失败,有如下错误提示:

couldnotestablishconnectiontoXXX,thepathargumentmustbeoftypestring,receivedtypeundefined。问题原因:找不到SSH可执行程序。

解决方法如下:

1、按下F1,输入Remote-SSH:Settings,找到remote.SSH.path,修改此路径为本地Git安装程序中的ssh.exe文件即可;

2、参考下图:

3.4C/C++环境错误

1、错误截图如下:

2、错误日志如下:

3、问题原因:小二猜测,是由于远程服务器脱机使用插件,导致C/C++的扩展安装失败;

4、解决方法,错误日志中已经比较详细。简要描述如下:

(1)手动下载cpptools-linux.vsix文件,放到远程服务器中;网址:Releases·microsoft/vscode-cpptools(github.com)

(2)进入插件选项卡,点击···,选择从VSIX安装...,选中刚刚下载的文件;

THE END
1.掌握高效工作法:任务中融入远程桌面,提升团队协作新境界2. 远程教育与培训 在教育领域,远程桌面技术为远程教育提供了有力支持 教师可以通过远程桌面,实时分享课件、演示软件操作、监控学生屏幕,进行一对一或一对多的在线教学 此外,企业培训部门也可以利用远程桌面,为员工提供远程培训服务,帮助他们掌握新技能、提高工作效率 ...http://www.iis8.com/iis8_com/html/2024/11/354976.html
2.远程桌面服务的主要用途随着科技的进步和工作方式的转变,远程桌面服务在各行各业的应用日益普遍。P2link作为一种创新的远程桌面解决方案,提供了便捷的网页端访问方式,使用户能够随时随地控制计算机。本文将探讨 P2link 远程桌面服务的主要用途,展示其在现代工作和生活中的多样化应用。 https://www.jianshu.com/p/e6ebfa84970a
3.远程数据采集的意义,怎样搭建远程数据采集平台在电脑网络广泛应用的时代,数据采集的重要性是十分显著的,它是计算机与外部物理世界连接的桥梁,各种类型信号采集的难易程度差别很大,所以怎样搭建远程数据采集平台成了许多用户都想知道的问题,下面一起跟随小编来看看吧。 远程数据采集的意义: 远程数据采集系统通过数据采集终端采集远程现场的环境数据,然后通过主控器将获得...https://hsk.oray.com/news/13169.html
4.康乃心便携十二导联心电仪远程监测信息反馈,仅需3-5分钟,解放军总医院为危重病人建立绿色通道,为心脏病患者全天候服务,使心电远程监护进入3A时代(即任何时间Any time,任何地点Any where,任何人Any body,只要网络通讯良好均能进行心电远程心电监测),是心脏的守护神,对及时发现、早期救治心血管疾病患者,降低患者的死亡率和致残率有着重要意义。https://www.meipian.cn/2baebcol
1.远程控制——赋能远程控制的创新解决方案企业设备与服务器管理 项目协作与团队共享 结语 P2Link作为一种创新的远程控制技术,依托先进的P2P通信与加密传输机制,为各类工业和物联网应用提供了高效、安全、稳定的解决方案。通过在工业、交通、能源等领域的深入应用,P2Link无疑将成为未来智能化远程管理的重要支撑技术。https://blog.csdn.net/P2LINKniu/article/details/143714662
2.远程医疗的定义它包括远程诊断、远程会诊及护理、远程教育、远程医疗信息服务等所有医学活动。从狭义上讲:是指远程医疗,包括远程影像学、远程诊断及会诊、远程护理等医疗活动。国外这一领域的发展已有近40年的历史,在我国起步较晚。 上世纪50年代末,美国学者Wittson首先将双向电视系统用于医疗;同年,Jutra等人创立了远程放射医学。此后...https://www.66law.cn/laws/1214536.aspx
3.远程联网(精选十篇)远程会诊服务管理系统包含:会诊申请、会诊管理、远程会诊、虚拟医院、双向转诊、医护管理、共享管理、统计分析、系统管理共九个部分。 远程会诊云块技术方案五大优势:分散部署, 集中管理、远程托管, 数据隔离、一个窗口, 多个桌面、远程接入, 虚拟医院、分布存储, 资源共享。 https://www.360wenmi.com/f/cnkeyhrahtwd.html
4.中国移动互联网2020半年大报告:移动大盘冲高微回落,短视频持续...2.3 小程序平台对于生活服务类平台意义重大,与APP形成有效的用户互补 2.4 小程序为APP提供了新的增长路径,拼多多通过各种运营手段,引导小程序用户下载并使用APP,两者重合用户数超过7500万 2.5 小程序成为重要流量入口,用户增长高于全网,为生活服务、视频类、购物类等应用带来大量用户,受疫情影响,医疗服务应用更是获得爆发...https://www.tmtpost.com/4582222.html
5.史上最全:智能电网的知识问答(5)实现电网与用户的双向互动,革新电力服务的传统模式,为用户提供更加优质、便捷的服务,提高人民生活质量。 6、建设智能电网对我国电网发展具有哪些重要意义? 答:智能电网是我国电网发展的必然趋势,它将谱写电网建设的新篇章。其重要意义体现在以下方面: (1)具备强大的资源优化配置能力。我国智能电网建成后,将形成结构...https://power.in-en.com/html/power-2248811.shtml
6.西北农林科技大学人文社会发展学院在大规模机器通信服务场景中,5G网络应可靠且无缝式地支持偶尔传输其数据包的大量设备[8](见表2)。因此,5G在未来将广泛应用于居民区、办公大楼、体育场、高铁站等家庭、工作、休闲和交通等诸多场景。在教育领域,5G可应用于远程直播互动课堂、混合现实教学、AI教育教学测评、智能校园管理等重要场景,并充分利用5G相关...https://ch.nwsuaf.edu.cn/jyjx/428006_mobile.htm
7.有关教育创新的几点思考(通用13篇)生命哲学家赋予生命的本质以本体论的意义,个人主义哲学认为个人为实在的,其教育目的以发展个人特性,培养个人人格为主旨;社会主义哲学则认为社会为实在的,其教育目的,在造就个人为社会服务,以谋社会群体的福利。由于当代社会不断的进步与发展,哲学教育和教育方法也需要与时俱进,不断的进步,不断面对和解决社会和人们普遍...https://m.fwsir.com/jy/html/jy_20080807130806_162938.html
8.浅谈农业资源的合理化利用论文(通用6篇)卫星远程教育不受时空限制,能为农村学员提供与发达地区质量相同的远程教育服务,能有效解决广大农村教育发展不均衡、优秀教育资源稀缺的局面。目前,农广校在以色列政府的援助支持下,已经建设了拥有1个中心主站和360个双向远端站点,以中央农广校为演播和资源服务中心,各省、地、县级农广校以及乡镇教学班为卫星网络远端接收和...https://biyelunwen.yjbys.com/fanwen/dili/601534.html
9.小小志愿者社会实践活动心得(精选13篇)一、领导重视,深刻认识志愿服务活动的重要意义 1、把志愿服务提高到建设人文医院的高度来认识。我院高度重视志愿服务工作,我们认为开展志愿服务既是上级的号召,也是建设人文医院自身的诉求,医院通过志愿活动,一是传递了爱心,传播了文明,有利于形成健康向上的医院文化。二是有助于和谐医患关系,志愿服务一方面培养了医护人员...https://www.oh100.com/daxue/3971490.html
10.锡山政报(2022年第3期)围绕“技术基础层-创作核心层-终端消费层”产业链,重点聚焦数字创意技术、数字创意内容、数字创意融合服务三大领域,以科技创新支撑产业链向高端环节延伸,以内容价值提升产业发展内涵,以应用场景丰富数字创意产业生态,构建“创新引领、内容驱动、跨界融合”的数字创意产业生态体系,将园区建设成为长三角数字创意产业新高地。 https://www.jsxishan.gov.cn/doc/2022/09/02/3744556.shtml
11.湖南省教育阳光服务大厅为深入推进党的群众路线教育实践活动,创新教育服务体制,优化教育公共服务,办好人民满意的教育,现就加强教育阳光服务平台建设提出如下意见。 一、充分认识教育阳光服务平台建设的重要意义 建立教育阳光服务平台,是践行党的群众路线,密切党群关系,更好地服务群众的有力举措;是促进权力公开运行,畅通群众诉求渠道,有效化解矛盾...https://fuwu.hnedu.cn/web/article_detail.jsp?id=2c9007754a94bf59014a952c12c6000f