Kai 大佬有话说 : 23 分钟前
通过Chrome插件管理VPS(支持CDN加速)
本帖最后由 Kai 于 2020-3-5 18:25 编辑
太长不看版
采用Secure Shell作为客户端,通过SSH over http转发报文,经CDN加速到达源站nassh-relay转发服务,从而连接SSH
—————————————————————————————————————————————————-
正文
最近手头一台欧洲服务器被墙,还有一台只支持ipv6的吃灰服务器,通过代理连接有时也并不理想,于是网上搜索到了chrome插件+CDN访问服务器的办法,特来分享
免费版CloudFlare大家白女票很久了,虽然支持一些非80、443端口但不支持ssh。测试的Argo Tunnel、Spectrum都扔到Business版。好在Google开发了Secure Shell,可以通过nassh-relay转发。nassh-relay基于java开发,全平台适用,也支持google-sso等安全设置。而且兼容nginx反代,因此支持CDN加速。下面说说部署方法
1.安装
先装java,ubuntu直接
sudo apt install default-jre
安装nassh-relay可以用docker,比较简单不说了,非docker直接下载最新程序,可以在https://github.com/zyclonite/nassh-relay/releases下到
解压后按需求修改config.json文件(我没修改),可以开ssl,Google-SSO验证,黑白名单(blacklist里是黑名单,默认不让访问服务器本机,想用可以删了)
启动nassh-relay有多种方式,根据需要自行选择:
1.程序包提供了run.sh,扔screen里执行或者nohup &
2.用init.d和systemd,下面贴一个我的systemd配置(我加了2个java参数控制内存)
Description=SSH-Relay
Requires=network.target
After=network-online.target
Type=simple
User=root
RemainAfterExit=yes
ExecStart=/usr/bin/java -Xmx32m -Xms16m -Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.SLF4JLogDelegateFactory -Droot.level=INFO -jar /usr/local/nassh-relay/nassh-relay-app.jar -conf /usr/local/nassh-relay/config.json -cp .
ExecReload=/usr/bin/kill -HUP
RestartSec=1min
Restart=on-failure
WantedBy=multi-user.target
3.配置nginx
开发者给了nginx配置,我自己加了ssl和验证,看自己需求
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name _;
#ssl_certificate /path/你的证书;
#ssl_certificate_key /path/你的证书;
location /cookie {
#auth_basic "Restricted";
#auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://localhost:8022/cookie;
include proxy_params;
}
location /proxy {
proxy_pass http://localhost:8022/proxy;
include proxy_params;
}
location /read {
proxy_pass http://localhost:8022/read;
include proxy_params;
}
location /write {
proxy_pass http://localhost:8022/write;
include proxy_params;
}
location /connect {
proxy_pass http://localhost:8022/connect;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 10m;
include proxy_params;
}
}
生成.htpasswd扔到/etc/nginx
4.浏览器插件
Chrome有插件版和App版,App版桌面Chrome浏览器也能装,不过目前已经停止开发,并将于2020年6月停止服务。插件版可以全平台使用,推荐使用插件版
Store搜索Secure Shell,安装插件后点击图标出现对话框,初次使用只有“连接服务器”和“选项”,这里我已经有2个配置文件
https://upload-images.jianshu.io/upload_images/20835238-b00bda1975a8082d.png?imageMogr2/auto-orient/strip|imageView2/2/w/244/format/webp
点击连接对话框会出现新的连接配置窗口
https://upload-images.jianshu.io/upload_images/20835238-a303f251ee2caf19.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp
新建配置文件,server参数中填写你的服务器ip(127.0.0.1表示服务器本机,不建议用)
SSH relay server options填入转发参数(这里用域名是为了CDN):
–proxy-host=你的服务器域名 –proxy-port=443 –use-ssl
证书登录可以在“身份”导入证书,分别需要导入私钥(OpenSSH2格式,文件名为id_rsa)和对应的公钥(文件名为id_rsa.pub),然后在下拉菜单选择id_rsa即可
配置完成后点连接,登录中继服务器并htpasswd验证
https://upload-images.jianshu.io/upload_images/20835238-ea8a020a40bb136c.png?imageMogr2/auto-orient/strip|imageView2/2/w/676/format/webp
随后插件自动连接SSH,输入密码(此处为私钥密码)即可登录
https://upload-images.jianshu.io/upload_images/20835238-59a74a9cc874726c.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp
5. 设置CDN
到CDN服务商加入域名即可,不仅可以全球加速,而且双栈加速可以打通ipv4-only和ipv6-only,美滋滋
总结:
配置并不很麻烦,跟着官方教程一步步下来很快也就完成了,实现在chrome里管理服务器,同时享受CDN加速。如有需要还可以加入google-sso验证等高级方法。算是对缺少合适跳板机或者代理的一种补充
缺点是目前sftp功能不完全(据说在ChromeOS上能挂载),期待Google后续开发
AntiWaR 大佬有话说 : 22 分钟前
大佬牛逼plus
yy520 大佬有话说 : 22 分钟前
直接拖到最后评论走人
heu 大佬有话说 : 21 分钟前
好长啊,我不看了…
改过自新 大佬有话说 : 15 分钟前
AntiWaR 大佬有话说 : 2020-3-5 18:26
大佬牛逼plus
把头像链接发出来