远程开发
安装扩展
SSH:Remote - SSH
也可以直接安装这个远程开发的扩展包,包含WSL、SSH、Docker。
开启SSH服务
有些系统(如Ubuntu)的ssh服务默认没有开启,下面步骤中输入密码前会报错。建议先跳过,报错再回来整。
在被远程的系统中开启ssh服务。
sudo systemctl enable ssh #设置自启动,root用户不用加前面的sudo
sudo systemctl start ssh #启动服务
远程连接
点击VSCode左下角绿色按钮,选择下图所示选项
或者打开侧栏的“远程资源管理器”,在SSH Targets中点击添加
输入SSH登录命令。
- 最简单的登录:
ssh user@HostName
,如ssh root@1.1.1.1,不指定端口默认使用22端口。 - 如果需要指定端口:
ssh user@HostName -p prot
,如ssh root@1.1.1.1 -p 1000。
确定后选择将刚刚的配置储存到哪里,推荐第一个。
点击如图“新窗口打开”,会打开一个新的窗口。
第一次连接可能需要你选择连接的是哪个平台。
随后输入密码,完成连接。
如何使用
接下来可以打开
- 文件(夹)
- 终端
进行使用。
打开过的文件夹会在资源管理器中显示,可以方便以后快速打开。
免密登录(SSH通用)
SSH认证方式有两种:
- 用户名密码认证
- 公钥私钥认证
上面就属于第一种用户名密码认证,如果不配置密钥的话每次连接都要输入密码进行验证。
生成本地公钥
ssh-keygen
生成的文件就放在了~/.ssh
目录中,图为Windows的样例。
~
是指当前用户的主目录,一般直接打开终端显示的目录就是。
添加到授权中
连接成功后在VS Code内点击“打开文件夹”,打开根目录\
或者当前用户主目录~
。
将本地用户~/.ssh/id_rsa.pub
中的内容添加到被远程用户的~/.ssh/authorized_keys
(没有的话自己创建一下)文件中,这个本地用户以后就可以免密登录了。