VSCode运用Remote SSH跟尾近程服务器

本文转载自微信群众号「编码小二」,作者小二 。转载本文请联络编码小二群众号。
1 前言比来在搭建一套 VSCode 的远端开发情形,次要想经管 C/C++ 代码不克不迭 100% 跳转的成就。
闲言少叙,按部就班进程奉上。
2 操作步伐2.1 按部就班 SSH
由于我们是运用 SSH 跟尾近程服务器,因而 Windows 需求支持 SSH 。
可以或许经由过程按部就班 Git 来取得 SSH 功用,怎么验证?运用 Win + R ,输入 cmd 关上掌握窗口,间接输入 ssh ,以下提示,则代表 SSH 已经按部就班乐成;
2.2 增加插件
运用 VSCode 最方便的一点,就是有良多插件可供抉择。
本次我们需求运用 Remote - SSH 插件,长这个样子,不要搞错了
按部就班完插件后,在侧边栏可以或许看到 “近程资源打点器” 图标。
2.3 设置SSH密钥
目标:将本机增加到近程服务器跟尾白名单,让服务器晓得是已认证的电脑在跟尾。进程近似于 GitHub 网站增加外埠电脑的 SSH 公钥。
一、运用以下敕令,生成 SSH 公钥文件。假定已经生成,则可间策运用,跳到步伐二。
# 编制一 ssh-keygen # 编制二,参考运用Git生成密钥 ssh-keygen -t rsa -C "youremail@example.com"
二、普通生成的密钥文件,门路为:C:\Users\user\.ssh ,找到公钥文件 id_rsa.pub ,复制到近程服务器 根目录 的 .ssh 文件夹中。
(1)根目录,不必定非若是 /.ssh 门路,可以是自身的用户目录,近似这样:/zhaochen/.ssh。
(2).ssh 文件夹没有怎么办?新建一个文件夹,命名为 .ssh 即可。同时要确认近程服务器是否支持 SSH ,假定斯时正是经由过程 SSH 编制跟尾的,那必然是支持了。
三、生成 authorized_keys 文件。这样后续在运用 Remote 插件时,不需求密码,就能间接登录到服务器。
(1)跟尾到近程服务器
编制一:经由过程 Windows 的 cmd 敕令框,运用以下敕令 + 密码,跟尾到近程服务器# 标准敕令,输入后会提示输入密码 ssh username@ip -p port # 示例,注:SSH默以为22端口 ssh zhaochen@192.168.1.1 -p 22编制二:已经运用 SSH 编制跟尾到服务器
(2)进入 .ssh 目录,运用以下敕令,生成 authorized_keys 文件。
cat id_rsa.pub > authorized_keys
四、在 cmd 窗口,再次查验测验以下,可以或许看到无需密码,直一连上服务器
假定已运用 SSH 编制跟尾到近程服务器,小二再分享一种更俭朴的编制:
一、在 .ssh 文件夹下,新建 authorized_keys 文件;
二、将 id_rsa.pub 文件中的内容整个复制到 authorized_keys 文件即可;
2.4 增加设置文件
目标:设置 VSCode 跟尾近程服务器的一些根抵信息。
一、点击左边的 “近程资源打点器” 图标,公司产品点击右上角的小齿轮(设置)
二、在弹进去的窗口中,抉择第一个 config 文件关上,参考下图,填写对应信息
(1)参考上述设置,释义以下
Host <近程主机名称> HostName <近程主机IP> User <用户名> Port <ssh端口,默认22> IdentityFile <本机SSH私钥门路> ForwardAgent yes <VSCode 自身增加的,不消管>Host :跟尾的主机名称,可自定义; Hostname :近程主机的 IP 地点; User :用于登录近程主机的用户名; Port :用于登录近程主机的端口,SSH 默以为 22 ; IdentityFile :外埠的私钥文件 id_rsa 门路;
(2)假定需求跟尾多个近程服务器,可参考如上内容,设置多个即可;
Host <近程主机名称1> HostName <近程主机1 IP> User <用户名1> Port <ssh端口,默认22> IdentityFile <本机SSH私钥门路> ForwardAgent yes <VSCode 自身增加的,不消管> Host <近程主机名称2> HostName <近程主机2 IP> User <用户名2> Port <ssh端口,默认22> IdentityFile <本机SSH私钥门路> ForwardAgent yes <VSCode 自身增加的,不消管>
2.5 跟尾测试
一、进入 “近程资源打点器” 选项,右键点击主机名;
二、抉择一种编制,跟尾到近程服务器,举行测试;
三、假定跟尾乐成,左下角则会体现今后已跟尾的主机名。
参考材料
一、VS Code Remote SSH设置 - 知乎 (zhihu.com)(https://zhuanlan.zhihu.com/p/68577071)
3 成就汇总3.1 插件按部就班
当我们搭建好 Remote SSH 情形后,VSCode 支持在 近程服务器 按部就班插件。
此时就能痛处自身的开发习性,将插件按部就班到差别地方了。
3.2 跟尾报错
假定舛误提示以下:
could not establish connection to “XXX“.Connecting was canceled. VScode remote '_workbench.downloadResource' failed vscode could not establish _workbench.downloadResource
可间接参考这篇文章:VSCode Remote 报错,没法跟尾??
3.3 扩张ssh跟尾失利
SSH 跟尾近程服务器失利,有以下舛误提示:
could not establish connection to XXX, the path argument must be of type string, received type undefined。
成就启事:找不到 SSH 可执旅顺序。
经管编制以下:
一、按下 F1 ,输入 Remote-SSH: Settings ,找到 remote.SSH.path ,编削此门路为外埠 Git 按部就班顺序中的 ssh.exe 文件即可;
二、参考下图:
参考材料
一、Visual studio code 扩张 ssh 跟尾失利:The "path" argument must be of type string. Received type undefined_的米-漠石's Blog-CSDN博客(https://blog.csdn.net/mostone/article/details/103023476)
3.4 C/C++情形舛误
一、舛误截图以下:
二、舛误日志以下:
正在更新 C/C++ 寄托项...正在下载顺序包“C/C++ language components (Linux / x86_64)” 失利。正在重试... 失利。正在重试... 失利。正在重试...正在等待 8 秒... 失利。正在重试...正在等待 16 秒... 未能下载 https://go.microsoft.com/fwlink/?linkid=2164295在阶段 downloadPackages 失利Error: connect ECONNREFUSED 23.41.74.108:443at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16)假定在脱机情形中事变或反复看到此舛误,请查验测验从 https://github.com/microsoft/vscode-cpptools/releases 下载预包孕了全体寄托项的扩张版本,尔后运用 VS Code 中的“从 VSIX 按部就班”敕令来按部就班它。
三、成就启事:小二猜测,是由于近程服务器脱机运用插件,导致 C/C++ 的扩张按部就班失利;
四、经管编制,舛误日志中已经相比详细。简要形貌以下:
(1)手动下载 cpptools-linux.vsix 文件,放到近程服务器中;网址:Releases · microsoft/vscode-cpptools (github.com)
(2)进入插件选项卡,点击 ··· ,抉择 从 VSIX 按部就班... ,选中适才下载的文件;
(3)最后等待按部就班终了,点击重载窗口,就大功乐成为了。
参考材料
一、vscode 经管正在下载顺序包“C/C++ language components (Linux / x86_64)” 失利引发的标志找不到成就_chenwr2018的博客-CSDN博客(https://blog.csdn.net/chenwr2018/article/details/115774007)
二、Releases · microsoft/vscode-cpptools (github.com)(https://github.com/microsoft/vscode-cpptools/releases)
4 总结一、详细总结 VSCode 搭建近程开发情形的进程;
二、对插件的按部就班、Remote SSH 相干成就做了增补完善,相对具有参考意思;