写点什么

VSCODE 配置远程调试环境

作者:englyf
  • 2023-01-07
    广东
  • 本文字数:2341 字

    阅读完需:约 8 分钟

VSCODE 配置远程调试环境

以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://mp.weixin.qq.com/s/f1KZOlL92ojes-r2l9rlCw


我的需求是,在 Windows 桌面环境下,通过 VSCODE 远程调试在服务器(或者其它远程主机)的工程代码。其实就是提供一个方便快捷的方式,让你可以在本地的 VSCODE 环境里编辑或者查看远程主机的目录文件罢了。


这里说下我的配置过程:(首先,程序猿有个习惯把序号从 0 开始,莫要见怪)


  1. 安装 SSH 在命令行窗口里输入 ssh 然后回车看看输出,确认一下是否已经安装了 ssh。只要不是提示找不到 ssh,那么就表示本机已安装了 ssh。 如果很不幸本地还没安装,那就搜索一下 ssh 的安装教程吧,估计隔壁老王就有。 实在太懒不想搜的话,这里有条懒虫[https://sourceforge.net/projects/sshwindows/]送给兄 dei 你。...


到这里假设已经确认好安装了 ssh,下面会用 ssh 生成密钥对,包括公钥和私钥,这会被用到绑定服务器和本地计算机便于免密码登录。


C:\Users\我的用户名>ssh-keygen -t rsaGenerating 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:XXXXXXXXXXXXXXXXXXXXXXXXXThe 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 一般都是 22IdentityFile 密钥对里的私钥的本地保存位置(用双引号括起来)然后在 VSCODE 左边的窗口里 SSH TARGETS 下面可以看到新添加的主机,默认是未连接状态。


  1. 连接主机在上一步添加的主机窗口里,右键选择 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 permissionsroot@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)仅保留读取权限在 权限窗口,选中上面新建的用户,编辑权限,仅保留 读取即可。如图


好了,点击确定并退出。再重新试一下连接主机吧,相信你的问题已经解决了^_^。


欢迎关注我的微信公众号 englyf 获取更多惊喜


发布于: 刚刚阅读数: 2
用户头像

englyf

关注

我的微信公众号 englyf 2018-06-01 加入

欢迎关注我的微信公众号 englyf 一起交流学习,每周至少更新一篇各类原创技术笔记,闲来也听我嗑唠嗑唠……

评论

发布
暂无评论
VSCODE 配置远程调试环境_ide_englyf_InfoQ写作社区