今天尝试了使用Visual Studio Code的Server版本, 没有之前RStudio Server遇到的输入法Bug, 支持中文, 拓展够多(下载安装也很快), 通过拓展可以支持各种文件格式的预览与编辑(Office拓展点赞+1). 这里记录一下配置过程以及编辑Markdown使用的插件.
服务器系统: Ubuntu 20.04
内网使用
VSCode server服务安装与自启动
安装阶段需要保持服务器与外网的连接.
运行下述命令安装VSCode服务端框架, 可能需要输入sudo密码
wget -O- https://aka.ms/install-vscode-server/setup.sh | sh
随后运行(注意不要使用root用户):
code-server serve-local --host 0.0.0.0 --port 端口号(默认8000)
第一次运行会需要同意用户条款, 同时自动安装一些必要的组件, 随后程序会在命令行中提示VSCode的网址:
http://localhost:端口号/?tkn=********-****-****-****-************
如果报错, 很可能是因为目标端口已经被占用了, 可以更换一个端口号试试. 可以使用
sudo netstat -nltp观察被占用的端口号及占用程序.
因为服务器上没有安装桌面环境, 所以需要防火墙允许该端口的流量通过(sudo ufw allow 端口号)并使用其它电脑的浏览器来访问, 访问地址为:
http://服务器IP:端口号/?tkn=********-****-****-****-************
访问过后浏览器会记住token, 后续使用时候就只需要访问 http://服务器IP:端口号即可.
使用SSH隧道提升安全性
上述设置后VSCode服务器端与浏览器之间通过http明文传输, 容易被攻击, 故使用SSH隧道对此进行加密.
设置防火墙关闭上述端口. 将服务器VSCode的运行命令中除去参数 --host 0.0.0.0, 即运行:
code-server serve-local --port 端口号(默认8000)
在用户端运行:
ssh -CN -L 端口号:localhost:端口号 服务器用户名@服务器IP
对于安卓系统, 可以使用ConnectBot进行端口转发.
随后在浏览器中访问:
http://localhost:端口号
VSCode server服务自启动
因为VSCode server不能使用root用户启动, 故不能使用 /etc/rc.local来启动. 可以使用 crontab来设置其自启动. 使用 crontab -e打开crontab配置文件, 在其末尾另起一行加入:
@reboot /usr/local/bin/code-server serve-local --port 端口号 --host 0.0.0.0 &
外网使用
如果无法直接ping通服务器, 就无法使用SSH转发VSCode的页面到用户端, 这时候可以使用蒲公英之类的软件建立VPN, 或者使用在线版本的VSCode.
同上安装好 code-server后(运行完 wget -O- https://aka.ms/install-vscode-server/setup.sh | sh), 直接运行:
code-server
同意用户条款后需要设置机器名称, 随后根据提示访问
https://insiders.vscode.dev/+ms-vscode.remote-server/机器名称
这样就能使用微软的官方服务达到类似内网穿透的目的.
插件推荐
- Office Viewer
- Typora
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!