前言

为什么突然想到了 vscode 远程开发,其实是因为在知乎上看到了一个问题,某人的回答指出了是因为 vscode 能够远程开发,他才抛弃了其他工具,转向了 vscode。

其实对于我一个转向前端的程序员 👨‍💻,使用 vscode 也是迟早的事情。虽然 jetbrains 全家桶很 X,但是有时候会卡住,而且时间长了,打开还得等一会儿。。

目前我只有开发 python 才会使用。当然了,等这段时间过了,估计也会很长一段时间不会碰 python 了,所以转向 vscode 了。-小康博客

快速开始

为 vscode 安装插件

插件名为 Remote Development

地址https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack

当然了,直接搜索也是可以的。

安装这个插件,会连同最上面那四个一起安装,虽然不知道为啥。

生成密钥对

密钥对对于搞 Hexo 的小伙伴相信都不陌生,对于开发者来说应该更不陌生。生成的命令很简单

ssh-keygen -t rsa -C "youremail@example.com"

然后一路回车即可。如果遇到问题,请自行百度。

密钥对生成好了之后,默认的位置是用户目录的.ssh 里。例如我的用户名是antmoe那么我的文件就在C:\Users\antmoe\.ssh里。我们进入这个文件,将里边的id_rsa.pub文件用文本文档打开。

这里推荐一款工具:notepad++ 免费而且贼好用。

复制里边的内容

为服务器添加公钥

我们登录服务器,在你个人用户的目录新建一个.ssh目录,并赋予权限 700,然后在这个目录里新建一个文件authorized_keys 里边写入我们公钥的内容,并赋予权限 600

如果你是 Linux 小白或者忘了 Linux 的命令,那么我在这里提供命令哦!

mkdir ~/.ssh
chmod 700 ~/.ssh/
vi ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

关于第三行使用了 vi 编辑器,如果你不会用或想了解这款工具请自行百度,这里只提供粘贴公钥和保存的基本操作。

  1. 粘贴公钥

    当输入第三步的命令后,看到了一个黑框框,我们按键盘上的字母键i,然后左下角会提示INSERT或者提示插入或者插入模式。这都是一样么。

    然后我们按鼠标的右键,粘贴复制的公钥内容。

  2. 保存内容

    保存也很简单,我们先按键盘左上角的ESC建。然后输入:wq(左下角会显示)

vscode 连接

进入 vscode,你会看到左边菜单栏多出了一个小电脑的标志,我们点它。

左边那里选择SSH Targels,然后点击小齿轮选择 user/用户名/.ssh/config 这样的,通常是第一个或者第二个。然后就可以看到上边的配置界面了。

测试连接

不出意外的话,这是就可以连接成功了。

可能会遇到的问题

Bad owner or permissions on C:\Users\Administrator/.ssh/config

Windows 下 VSCode 使用 SSH 连接报 Bad owner or permissions on C:\Users\Administrator/.ssh/config 错误问题

这个错误意味着:文件夹.ssh 的权限不仅仅是 windows 当前用户拥有或者当前用户权限不足,故修改权限即可。

解决方案很简单,找到我们的.ssh文件,进入里边会有一个config的文件。

  1. 右键单击.ssh 文件夹,然后单击“属性”。
  2. 找到并点击“安全”标签。
  3. 然后单击“高级”。 单击“禁用继承”,单击“确定”。 将出现警告弹出窗口。单击“从此对象中删除所有继承的权限”。
  4. 你会注意到所有用户都将被删除。让我们添加所有者。在同一窗口中,单击“编辑”按钮。
  5. 接下来,单击“添加”以显示“选择用户或组”窗口。
  6. 单击“高级”,然后单击“立即查找”按钮。应显示用户结果列表。 选择您的用户帐户
  7. 然后单击“确定”(大约三次)以关闭所有窗口。
  8. 完成所有操作后,再次关闭并打开 VSCode 并尝试连接到远程 SSH 主机。

此解决方案来源于 CSDN 博客犹新

更多问题

如果遇到其他问题,可以在下方留言哦!

最后

现在已经是晚上 11 点钟了,刚刚写完这篇文字,大约花费了 40 分钟的时间。说真的。现在越来越觉得 vscode 牛 X 了。

不过经过我的测试 远程开发并不好用,经常会遇到掉线的情况。。不知道是因为服务器的原因还是我的网络原因。

但是虚拟机好像没有掉线过,所以我的开发流程变成了

  1. 打开虚拟机
  2. vscode 远程连接
  3. 开发

好了 晚安 睡觉 -小康博客