VSCODE 配置远程调试环境
以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16691460.html
我的需求是,在Windows桌面环境下,通过 VSCODE 远程调试在服务器(或者其它远程主机)的工程代码。其实就是提供一个方便快捷的方式,让你可以在本地的 VSCODE 环境里编辑或者查看远程主机的目录文件罢了。
这里说下我的配置过程:(首先,程序猿有个习惯把序号从0开始,莫要见怪)
0. 安装 SSH
在命令行窗口里输入 ssh 然后回车看看输出,确认一下是否已经安装了ssh。只要不是提示找不到ssh,那么就表示本机已安装了ssh。
如果很不幸本地还没安装,那就搜索一下ssh的安装教程吧,估计隔壁老王就有。
实在太懒不想搜的话,这里有条懒虫[https://sourceforge.net/projects/sshwindows/]送给兄dei你。
...
到这里假设已经确认好安装了ssh,下面会用ssh生成密钥对,包括公钥和私钥,这会被用到绑定服务器和本地计算机便于免密码登录。
C:\Users\我的用户名>ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\我的用户名/.ssh/id_rsa):
输入回车,保存密钥对到默认的目录 C:\Users\我的用户名\.ssh 中。
Enter passphrase (empty for no passphrase):
输入回车,设置密钥对保护密码为空(如果对安全性要求比较高,建议还是输入一下密码再回车)。
Enter same passphrase again:
这一步只是重复输入上一步输入的密码,如果上一步设置密码是空,这一步也直接输入回车。
Your identification has been saved in C:\Users\XXX/.ssh/id_rsa.
Your public key has been saved in C:\Users\XXX/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:XXXXXXXXXXXXXXXXXXXXXXXXX
The key's randomart image is:
+---[RSA 3072]----+
|@@==++ . |
XXXX
+----[SHA256]-----+
此时,公钥已经保存到 C:\Users\xxx\.ssh\id_rsa.pub 文件中,私钥已经保存到 C:\Users\xxx\.ssh\id_rsa 文件中。
而我用的是阿里云的服务器,它会要求使用后台操作界面生成私钥并自动下载到本地,保存的格式是(.pem)格式。
1. 打开已安装的 VSCODE
如果还没安装就装一个呗,这里边的过程没什么可以讲的。不过我有个推荐的地方如图,尤其是添加到右键菜单这里:
2. 安装 VSCODE 插件
在 VSCODE 自带的插件市场里搜索以下插件并且安装:
| 插件名 | 用途 |
|---|---|
| Remote - SSH | 用SSH打开远程机器的文件夹而且可以应用 vscode 的所有功能 |
| Remote - SSH: Editing Configuration Files | 编辑 SSH 配置文件 |
3. 编辑 SSH 配置文件
在 VSCODE 左侧边栏里找到 Remote Explorer 一项,点击进去。
在弹出的窗口里,下拉菜单选择 SSH Targets (这里的目的是链接远程服务器),再点击设置按钮,在弹出来的选择窗口里,如图
选择第一个(自己用户目录下的 config 文件)。按照下面的提示编辑内容并保存。
# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host 自己起个名字,你喜欢就好
HostName 远程服务器的IP地址
User 系统用户名
Port 端口号,SSH一般都是22
IdentityFile 密钥对里的私钥的本地保存位置(用双引号括起来)
然后在 VSCODE 左边的窗口里SSH TARGETS下面可以看到新添加的主机,默认是未连接状态。

4. 连接主机
在上一步添加的主机窗口里,右键选择 Connect to Host in Current Window 就可以在当前窗口连接到指定的远程主机了。
既然连接成功了(可能也会失败,后边分析原因),那么远程主机的文件怎么浏览查看或者编辑呢?
在 VSCODE 左侧边栏里找到 Explorer 一项,点击进去。
如果还没有文件被打开,那么在左边的窗口可以看到一栏 NO FOLDER OPENED,点击打开,再点击 Open Folder 按钮,在中间会弹出下拉菜单,在里边可以填上想要打开的远程主机的目录。默认显示 /root/ 目录了,我这里直接填我的一个 Django 的工程位置。
说回来,上边说到连接可能会有不成功的情况。我这里就曾碰到这样的错误,点击连接后弹出下面的警告窗。

意思就是说 无法稳定连接到我的远程主机xxx,然后也可以看到输出窗口会打印连接的过程日志。细心点的话,可以从日志里看到下面的关键信息:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[03:12:56.641] > @ WARNING: UNPROTECTED PRIVATE KEY FILE! @
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> Permissions for 'G:\\ProjectWorkstation\\ali-cloud-key-pair\\id_rsa.pem' are too open.
> It is required that your private key files are NOT accessible by others.
> This private key will be ignored.
> Load key "G:\\ProjectWorkstation\\ali-cloud-key-pair\\id_rsa.pem": bad permissions
> root@XXX.XXX.XXX.XXX: Permission denied (publickey).
意思就是说我这私钥文件[存放在 G:\ProjectWorkstation\ali-cloud-key-pair\id_rsa.pem]没有被保护起来,专业点的说法是文件设置的权限太过宽松了,得改,否则就是不给通过。好吧,我改!下面说下我的配置过程。
1)删掉不相关的用户所有者,只保留当前用户
找到上边提到的那个文件[G:\ProjectWorkstation\ali-cloud-key-pair\id_rsa.pem],鼠标右键选择 属性,在弹出来的 属性 窗口选择 安全,如图

点击 高级,在弹出的 高级安全设置 窗口选择 禁用继承,然后一路点击确认并退出 高级安全设置 的窗口。
接着在 属性 窗口点击 编辑,在弹出的 权限 窗口里将所有的组或用户名删掉,再点击 添加,把自己的当前用户添加上去。
(至于怎么找到当前用户,这里不展开了,你可以在其它地方找到这方面的信息,逃。。。)
2)仅保留读取权限
在 权限窗口,选中上面新建的用户,编辑权限,仅保留 读取即可。如图

好了,点击确定并退出。
再重新试一下连接主机吧,相信你的问题已经解决了_。
VSCODE 配置远程调试环境的更多相关文章
- VSCode配置python调试环境
VSCode配置python调试环境 很久之前的一个东东,翻出来看看 VSCode配置python调试环境 * 1.下载python解释器 * 2.在VSCode市场中安装Python插件 * 4.在 ...
- vsCode配置C++调试环境
1.下载安装VSCode,安装mscpptools ,直接搜索c++,或者mscpptools 2.下载MinGW 安装好,一般默认安装到C:\MinGW 安装好后直接启动. 选择需要的gcc ,g+ ...
- python之vscode配置开发调试环境
在vscode中下载python插件,下载量最多的就是 打开launch.json,把以下代码粘贴进去即可 { // 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述. ...
- Win10下使用VSCode配置python运行环境
VSCode配置python运行环境 安装python 到官网下载python,直接安装即可,在安装过程中可以选择将python加入环境变量 安装VSCode 官网下载,直接安装 配置 安装pytho ...
- PhpStorm Xdebug远程调试环境搭建原理分析及问题排查
2017年05月26日 经验心得 目录 一. 环境介绍 二. 远程环境配置 2.2 Xdebug安装 2.3 配置 三. 本地phpstorm配置 3.1 下载远程代码 3.2 添加php解释器 ...
- Visual Studio Code (vscode) 配置 C / C++ 环境
Visual Studio Code (vscode) 配置 C / C++ 环境 昨天突发奇想,想使用vscode配置C++环境,因为不想下载 Dev OR codeblock,然后借助了很多网上教 ...
- # VsCode 配置C++调试运行
VsCode 配置C++调试运行 打开命令面板快捷键为F1,软件上写的Ctrl+Shift+P似乎没用 先安装插件使得可以运行 先自行在vsc扩展中搜索C++安装C/C++插件 再参考知乎专栏中安装c ...
- (超简单)VScode配置C/C++环境图文教程(Windows系统下)
(超简单)VScode配置C/C++环境图文教程(Windows系统下) 本文参考文章 Visual Studio Code (vscode) 配置 C / C++ 环境 下载VScode.下载Min ...
- Tomcat配置远程调试端口
Tomcat配置远程调试端口 1.Linxu系统: apach/bin/startup.sh开始处中增加如下内容: declare -x CATALINA_OPTS="-server -Xd ...
随机推荐
- 2022省选前联考 AVL树/平衡树
题目描述 pks 得到了一棵 \(N\) 个节点,权值为 \(1\sim N\) 的 \(AVL\) 树,他觉得这棵树太大了,于是他想要删掉一些节点使得最后剩下的树恰好有 \(K\) 个节点.如果 p ...
- go grpc: connection reset by peer 的一种解决方案
最近添哥一直反映,他手下的设备以grpc stream的方式向我服务端发送数据.偶然会收到错误.现象如下: 连接已经建立了一段时间,正常使用. 突然client.Send 返回 eof. 客户端有报错 ...
- WCF全局捕获日志
/// <summary> /// WCF服务端异常处理器 /// </summary> public class WCF_ExceptionHandler : IErrorH ...
- 要想不踩SaaS那些坑,得先了解“SaaS架构”
摘要:围绕当下许多企业青睐的SaaS应用开发,华为云开发者技术服务工程师程泽在DTT首期带来主题为 <SaaS云原生应用典型架构> 的DTT首期直播分享. 本文分享自华为云社区<DT ...
- 什么是好的 API 设计?【eolink翻译】
对于试图完善其 API 策略的团队来说,良好的 API 设计是一个经常出现的话题. API 设计的重要性相信不需要赘述,精心设计的 API 的好处包括:更好开发人员体验.更快的文档编制以及更高的 AP ...
- 通过jmeter压测surging
前言 surging是异构微服务引擎,提供了模块化RPC请求通道,引擎在RPC服务治理基础之上还提供了各种协议,并且还提供了stage组件,以便针对于网关的访问, 相对于功能,可能大家更想知道能承受多 ...
- P2183 [国家集训队]【一本通提高组合数学】礼物
[国家集训队]礼物 题目背景 一年一度的圣诞节快要来到了.每年的圣诞节小 E 都会收到许多礼物,当然他也会送出许多礼物.不同的人物在小 E 心目中的重要性不同,在小 E 心中分量越重的人,收到的礼物会 ...
- 用JavaScript写输入框的校验
//Script function cheack(){ var kong = ''//获取值不能放外面,不然一直为空 kong = document.getElementById('name').va ...
- 使用jmh框架进行benchmark测试
性能问题 最近在跑flink社区1.15版本使用json_value函数时,发现其性能很差,通过jstack查看堆栈经常在执行以下堆栈 可以看到这里的逻辑是在等锁,查看jsonpath的LRUCach ...
- NetCore路由的Endpoint模式
IdentityServer里有各种Endpoint,如TokenEndpoint,UserInfoEndpoint,Authorize Endpoint,Discovery Endpoint等等.E ...