(前提:已经领取到白嫖的阿里云dsw以及创建实例后完成部署,具体见前一篇博文)
每次改完代码,笨拙的在dsw实例中的界面重新提交调试代码甚是麻烦,且上传速度一言难尽,所以思考了一下还是需要配置vscode远程连接dsw
查看官方文档介绍:DSW提供的ProxyClient客户端代理工具,允许通过SSH远程连接DSW实例,实现本地与DSW实例的连接。官方文档
step1:在具体DSW实例的Terminal中,执行如下命令
启动你的实例,在Terminal中
sudo apt-get update
sudo apt-get install openssh-server
sudo service ssh start
step2:下载和安装DSW ProxyClient
-
Windows操作系统:ProxyClient.exe保存在用户个人文件夹目录,例如C:\Users<username>目录或C:\用户<username>目录,username是你自己的电脑系统名字
-
其他系统参考官方文档
-
在命令行输入 proxyclient.exe config
-
回车后根据提示设置配置文件路径,建议直接按回车键(Enter)使用默认路径和配置文件名称。默认为:~/.proxyclientconfig。
-
根据提示分别设置RegionId、AccessKey ID、AccessKey Secret和STSToken参数
-
RegionId:根据你自己的地区选择,RegionId对照表,我的是cn-shanghai
-
AccessKey ID、AccessKey Secret
创建AccessKey ID,我使用的是创建阿里云账号(主账号)的AccessKey,创建完AccessKey完成后,记得下载AccessKey.csv,打开csv文件就是你自己的id和密码 -
STSToken:不用输入,直接回车
(!ps:命令行不要关闭!)
step3:配置SSH认证方式
官方提供两种方式,为了后续方便直接采用方式一,配置实例免密登录
在上述未关闭的命令行输入:
ssh-keygen #回车
显示Enter file in which to save the key#直接回车,文件自动保存在C:\Users\<username>目录或C:\用户\<username>中
Enter passphrase (empty for no passphrase):#建议输入简短密码,后续会使用该密码来远程连接DSW实例。第一次配置我直接回车了,后续连接出问题,
操作完后,目录C:\Users<username>.ssh中会出现默认生成的密钥对文件为id_rsa(私钥)和id_rsa.pub (公钥)
将id_rsa.pub (公钥)上传到实例的初始工作目录下(/mnt/workspace)
- 启用免密登录。
在DSW实例的Terminal中执行以下命令,启用免密登录。
cd ~ && mkdir -p .ssh && cat /home/admin/workspace/id_rsa.pub >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys && sudo service ssh start
(!ps:命令行还是不要关闭!)
step4:添加DSW实例代理
-
进入DSW页面,复制DSW实例ID。
-
在命令行中,运行
proxyclient.exe add -i=<实例ID> #<实例ID>换成你自己的id
-
命令行中输入:explorer .ssh\config,查看.ssh/config文件内容,确认代理设置已生效。
explorer .ssh\config
step5:使用VS Code远程连接实例
-
在本地打开VS Code,并参照下图来安装Remote-SSH插件。
-
在VS Code左侧导航栏中,单击Remote explorer。
-
点击SSH后的新增新增远程连接实例。在弹出的文本框中输入DSW实例ID,并按回车键。
-
单击并选择需要更新的config文件。
-
VS Code右下角弹出的Host added对话框中,单击Connect
-
单击Linux
-
在文本框中输入上述步骤三中保存到本地的passphrase,并按回车键。
当VS Code打开欢迎页面时,表示连接成功。后续您可以在VS Code页面打开远程文件夹进行本地开发。 -
如果找不到远程工作目录,直接在open file里输入/home/admin/workspace试试
真写累了,准备睡觉,又是废材的一天