全新CentOS7上GateOne的安装
最近在研究WebSSH2这类工具,目前的需求是在web应用中嵌入ssh终端,找到了GateOne,GateOne 是一款使用 HTML5 技术编写的网页版 SSH 终端模拟器。就是类似于Windows上远程ssh工具,例如Xshell等。亮点有:
- 基于现代的 HTML5 技术,无需任何浏览器插件。
- 支持多个 SSH 进程。
- 可以嵌入到其他任意应用程序中。
- 支持使用 JavaScript,Python 甚至纯 CSS 编写的插件。
- 支持 SSH 进程副本,打开多个进程而无需重复输入密码。
- 支持各种服务器端的日志功能,支持 Keberos-based 单点登录甚至活动目录。
网上很多博客都有部署过程,大都存在弯路,更像是一部武林秘籍被拆成了七八部分,每部分都混入了一些错误的方法,照着任何一本练都必定走火入魔,我也是在经历了四五次装坏了再重装虚拟机的循环后才摸索出了比较正确全面的部署方法,就一边安装一边记录一下自己安装的过程。
建议以root用户执行。
前期环境准备
需要的环境
python版本:2.7+
pip版本:18.0+
tornado版本:4.1
yum命令不能用问题解决
刚装的虚拟机,yum命令是不能用的,遇到的问题跟一个博客里的一致,用了他的解决方案完美解决了,在此表示感谢,就不重复写过程了,没有遇到yum问题的可以忽略,遇到的可以去这里看一下 :虚拟机未跟随系统网卡导致yum不能使用的问题。
安装pip
先安装epel扩展源:
yum -y install epel-release
安装pip:
yum -y install pip
yum -y install python-pip
安装完成之后清除cache:
yum clean all
更新pip至最新版本(确认python版本在2.7+否则更新后就不能用了)
pip install --upgrade pip
检查pip版本:
pip -V
看到这种结果就是ok了:
接着安装tornado框架:
pip install tornado==4.1
注意此处不能用4.0之前的tornado,会造成GateOne无法安装,也不能用最新的5.0版本,因为在4.0之后就废弃了io_loop参数,会造成GateOne安装后无法启动。
更新tornado:
pip install --upgrade tornado
更新setuptools:
pip install --upgrade setuptools
安装html5lib:
pip install html5lib
安装Pillow:
pip install Pillow
安装git:
yum -y install git
安装依赖包:
yum install -y python python-pip gcc python-devel setuptool python-pam openssl openssl-devel wget make gcc-c++ patch pam_radius dtach pyOpenSSL perl
用pip命令安装tornado Kerberos
pip install tornado kerberos
全部完成之后就算是完成了前期的准备工作,接下来就是
安装GateOne
GateOne在GitHub上的地址是 GateOne源码,我们需要将它clone下来:
git clone https://github.com/liftoff/GateOne.git
进入GateOne
cd GateOne
安装
python setup.py install
安装成功界面:
启动GateOne
关闭防火墙:
systemctl stop firewalld.service
建议先查看本机的IP地址。
启动GateOne:
python run_gateone.py
成功启动的结果应该是这样的:
远程连接webssh
开放端口,这里用的是10443,是可以自定义的:
iptables -I INPUT -p tcp --dport 10443 -j ACCEPT
在浏览器输入
https://服务器Ip:开放的端口
登录账号,完工:
一些小问题
我用的CentOS7什么都得自己装,期间没有ifconfig命令,安装指令:
yum -y install net-tools