[GateOne]自建web端ssh

最近在学校的操作环境无法使用客户端的ssh了,都得靠阿里云的远程链接,何不自建一个web端ssh呢。

项目

这里使用的项目是12年的著名项目GateOne,好像都6年前了,虽然界面丑了点,但是却非常好用欸。

安装

GateOne是用python开发的,所以安装需要python,pip,tornado(v4.1 ~ v4.4)

安装对于版本的tornado可以用如下命令:

1
2
$ pip uninstall tornado
$ pip install tornado=4.1

然后从Github下载GateOne,并安装

1
2
3
$ git clone https://github.com/liftoff/GateOne.git
$ cd GateOne/
$ python setup.py install /path/to/gateone

安装那里最后的参数是GateOne的安装位置,默认是/usr/local/bin/gateone

配置

创建

先执行一下创建默认的配置文件:

1
$ gateone

默认的配置文件在/etc/gateone/conf.d/10server.conf

修改

上面那一步一般都会失败(因为80端口和443端口一般都被使用了),所以我们给它一个空的端口,然后用nginx反代即可。

在配置文件里面找到如下项:

1
2
3
"address": "127.0.0.1",		
"disable_ssl": true,
"port": 8001,

address设置为127.0.0.1将访问方式设置为本地,
disable_ssl设置为true将停用自带的ssl证书,因为那个证书不被广泛信用阿,用自己的证书,

nginx反代

1
2
3
4
5
6
7
8
9
10
11
12
13
location / {
proxy_pass http://127.0.0.1:8001;

proxy_redirect off;
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $http_address;
proxy_set_header X-Scheme $scheme;

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

仅仅给出反代的设置,ssl部分和其他部分略去了。

记得端口要和配置文件里面相同。

重启nginx即可看到效果。

效果

如图:

如果不想自建的话,也可以使用本站的:https://s.cinema000.xyz

分享到: