0. 一堆废话
最近我也一直在这些事情上饱受折磨:
- 有的时候需要连接SSH,但却没有SSH客户端 (比如Xshell)
- 装个客户端太麻烦,还经常踩中丁丁的坑
- 有的环境,人家不想让你乱装软件
那么,有没有一种能够在Web上就可以部署的SSH方案呢?
答案是,Docker镜像 liftoff/gateone !
先上个效果图:
是不是感觉很方便?
而且常用的按键,GateOne都支持:
- Shift+Insert 粘贴
- Ctrl+A+D 登出
- Ctrl+C 中断
- (还有其他常用的命令)
1. 部署教程
curl -sSL https://get.docker.com/ | sh service docker start
部署方法非常简单,首先,我们先拉取镜像:
docker pull liftoff/gateone
然后等待镜像拉取结束后,使用以下命令行启动镜像:
docker run [-d/-t] -p [443]:8000 -h [hostname] --name gateone liftoff/gateone gateone
命令行的说明:
-d/-t:决定镜像是使用Deamon(后台)模式启动,或者显示启动过程
-p 443:8000:绑定端口,注意:GateOne强制使用SSL,8000端口为Docker容器内的固定映射端口,请只改动冒号前面的端口,不要动后面的端口号!
-h hostname:设置Docker容器的主机名(这个将会显示在你的浏览器标题中,想个好的主机名)
--name gateone:设置Docker容器的名称(不是主机名),用来docker ps时识别用
liftoff/gateone:镜像名称,勿动
gateone:启动命令行,勿动(默认命令行会发生Python io_loop报错,故使用此命令行来避免错误)
然后访问你的浏览器地址:
https://gateone.your-domain.com:6001/
2. 导入自己的SSL证书 (可选)
如果你有自己的SSL证书,并且你想要将其与你的GateOne相结合的话,可以接着往下操作:
首先,结束掉你之前运行的GateOne容器:
docker kill gateone
然后,创建一个Dockerfile文件(文件名就叫Dockerfile,没有后缀名,严格区分大小写),写入以下内容:
FROM liftoff/gateone
ADD gateone-ssl/certificate.pem /etc/gateone/ssl/certificate.pem
ADD gateone-ssl/keyfile.pem /etc/gateone/ssl/keyfile.pem
CMD [ "gateone" ]
然后和Dockerfile同目录创建gateone-ssl文件夹,将你的证书和密钥导入:
mkdir gateone-ssl
cd gateone-ssl
vim certificate.pem
(导入你的证书)
vim keyfile.pem
(导入你的密钥)
cd ..
确认密钥无误后,执行命令:
docker build --t="gateone-ssl" .
当出现Successfully Built
即重建成功。
启动镜像
执行命令:
#命令 docker run [-d/-t] -p [443]:8000 -h [hostname] --name gateone gateone-ssl gateone #示例,具体参数参考上面 docker run -t -p 443:8000 -h Rats --name gateone gateone-ssl gateone
继续访问https://xx.com:端口/
查看SSL
证书是否生效。
如果最后一步出现 "/gateone" is already in use by container
错误,请先使用命令:
docker rm gateone
如果没有错误,请忽略以上命令。
以上就是GateOne搭建和开启SSL访问的全部过程,过程很简单明了。安装完成后就可以输入IP、端口、用户名、密码访问你的服务器了。
本文出自:https://blog.ilemonrain.com/docker/liftoff-gateone.html
文章评论