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 ...
随机推荐
- 我不就是吃点肉,应该没事吧——爬取一座城市里的烤肉店数据(附完整Python爬虫代码)
写在前面的一点屁话: 对于肉食主义者,吃肉简直幸福感爆棚!特别是烤肉,看着一块块肉慢慢变熟,听着烤盘上"滋滋"的声响,这种期待感是任何其他食物都无法带来的.如果说甜点是" ...
- windows下docker部署报错
报错信息:Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:8848 -> 0.0.0 ...
- HashSet 添加/遍历元素源码分析
HashSet 类图 HashSet 简单说明 HashSet 实现了 Set 接口 HashSet 底层实际上是由 HashMap 实现的 public HashSet() { map = new ...
- dubbo(九):timeout超时机制解析
在网络请求时,总会有各种异常情况出现,我们需要提前处理这种情况.在完善的rpc组件dubbo中,自然是不会少了这一层东西的.我们只需要通过一些简单的配置就可以达到超时限制的作用了. dubbo的设计理 ...
- Solution -「营业」「CF567D」One-Dimensional Battle Ships
题目大意 - 翻译 Alice 和 Bob喜欢在 \(1\times n\) 的表格中玩战舰游戏.游戏开始时,Alice 有 \(k\) 艘战舰,每艘战舰长度为 \(a\),她需要把这些战舰不重叠 ...
- 解决报错Error response from daemon: Get https://10.0.0.110/v2/: dial tcp 10.0.0.110:443: connect: connection refused
修改 #https不需要验证,否则要加上以下配置# 意思就是非安全仓库,加上重启就OK了! vim /lib/systemd/system/docker.service --insecure-regi ...
- Webpack干货系列 | 在 Webpack 5 集成 ESLint 的方法
程序员优雅哥(youyacoder)简介:十年程序员,呆过央企外企私企,做过前端后端架构.分享vue.Java等前后端技术和架构. 本文摘要:主要讲解运用Webpack 5 中集成 ESLint 的方 ...
- 第一天python3 封装和解构
封装 将多个值使用逗号分割,组合在一起:本质上,返回一个元组,只是省略了小括号:python特有语法,被很多语言学习和借鉴;比如javascript:t1=(1,2) 定义为元组:t2=1,2 将1和 ...
- Windows环境安装Hadoop环境
1,下载Hadoop,解压 2,配置Hadoop环境变量 右键此电脑--属性 高级系统设置 环境变量 新建一个HADOOP_HOME 添加到path 3,cmd窗口查看安装情况:hadoop vers ...
- Vue3 生命周期 && Hooks封装 && toRef
1 # 一.Vue3.0与Vue2.0生命周期改动 2 beforDestroy改名为beforeUnmount 3 destroyed改名为unmounted 4 # Vue3.0页提供了Compo ...