remote vscode 还没正式发布,但是在 VSCode Insiders 版本中可以使用.
本文后面提到的 vscode 都是指 VSCode Insiders
客户端
安装
sudo apt install openssh-client
生成密钥对,并拷贝公钥到服务器上
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
服务端
sudo apt install openssh-server
要确认可以公钥登录,不然后面 vscode ssh 连接服务器时,要频繁 ctrl+` 调出集成终端输入登录密码.
更多参考 https://blog.csdn.net/u011714033/article/details/90109945
rmate 版本众多,这里用 go 版 gomate.
go get -u -v github.com/mattn/gomate
把 GOPATH 目录下的 bin 加入 PATH.确保 gomate 安装成功
$ gomate -h
Usage of gomate:
-hostname string
hostname (default "localhost")
-port int
port (default 52698)
安装
下载 VSCode Insiders绿色版并解压到要安装的目录
vscode下 ctrl+shift+x
搜索 Remote - SSH 并安装,搜索 Remote VSCode 并安装,
配置
ctrl+shift+p
,搜索 remote-ssh:open configuration
打开 ssh 配置文件 config ,编辑如下
Host fws8uv
HostName 192.168.43.201
User fws
IdentityFile C:\\Users\\fuwens\\.ssh\\id_rsa-ssh-sfw8uv
ForwardAgent yes
RemoteForward -R 42698:192.168.43.201:52698
Host 字段是个名字可以随意起,但最好用字母和数字,像 @ 就会出问题.估计是和
ssh 用户@主机
冲突.
HostName 字段和 User 字段组成ssh User@HostName
.
IdentityFile 字段指定 ssh 私钥-i IdentityFile
.
RemoteForward 字段创建 ssh tunnel-R 42698:192.168.43.201:52698
.
效果
vscode ssh tunnel rmate
ssh client <=============> ssh server
192.168.43.191:42698 192.168.43.201:52698
-------------------- ---------------------
客户端 服务端
正确安装插件后 vscode 左边边栏多出 Remote SHH 按钮,能打开配置好的远程主机列表.选择要连接的主机,发起连接.
如果连接不成功, ctrl+` 调出集成终端查看输出信息.
如果 ssh 公钥登录没配置正确,会要求输入服务器登录密码.
如果 ssh config 文件配置有问题,会有错误报告.
第一次连接时,要在服务器端执行一次 rmate
touch testfile
gomate testfile
服务端执行 rmate 后,客户端的 vscode 会打开这个文件,可以输入些内容试试.之后就再也不用执行 rmate 了.
https://code.visualstudio.com/docs/remote/remote-overview
https://linux.die.net/man/5/ssh_config
https://github.com/aurora/rmate
https://blog.csdn.net/a351945755/article/details/21785647
https://code.visualstudio.com/api/advanced-topics/remote-extension
https://macromates.com/blog/2011/mate-and-rmate/
https://ernie.io/2011/12/12/textmate-2-rmate-awesome/