使用vscode进行远程开发
前言
为什么突然想到了 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 编辑器,如果你不会用或想了解这款工具请自行百度,这里只提供粘贴公钥和保存的基本操作。
粘贴公钥
当输入第三步的命令后,看到了一个黑框框,我们按键盘上的字母键
i
,然后左下角会提示INSERT
或者提示插入或者插入模式。这都是一样么。然后我们按鼠标的右键,粘贴复制的公钥内容。
保存内容
保存也很简单,我们先按键盘左上角的
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
的文件。
- 右键单击.ssh 文件夹,然后单击“属性”。
- 找到并点击“安全”标签。
- 然后单击“高级”。 单击“禁用继承”,单击“确定”。 将出现警告弹出窗口。单击“从此对象中删除所有继承的权限”。
- 你会注意到所有用户都将被删除。让我们添加所有者。在同一窗口中,单击“编辑”按钮。
- 接下来,单击“添加”以显示“选择用户或组”窗口。
- 单击“高级”,然后单击“立即查找”按钮。应显示用户结果列表。 选择您的用户帐户。
- 然后单击“确定”(大约三次)以关闭所有窗口。
- 完成所有操作后,再次关闭并打开 VSCode 并尝试连接到远程 SSH 主机。
此解决方案来源于 CSDN 博客犹新
更多问题
如果遇到其他问题,可以在下方留言哦!
最后
现在已经是晚上 11 点钟了,刚刚写完这篇文字,大约花费了 40 分钟的时间。说真的。现在越来越觉得 vscode 牛 X 了。
不过经过我的测试 远程开发并不好用,经常会遇到掉线的情况。。不知道是因为服务器的原因还是我的网络原因。
但是虚拟机好像没有掉线过,所以我的开发流程变成了
- 打开虚拟机
- vscode 远程连接
- 开发
好了 晚安 睡觉