在公有云上,我们常看到通过浏览器能向远程的服务器发送命令,初看是不是很神奇。 今天我们用shellinabox为例来体验一下,shellinabox是一款基于 Web 的远程 Terminal 开源模拟器软件,本篇文章基于centos7.3环境。
安装 EPEL yum源
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum repolist
安装shellinabox,关闭https
默认配置文件我们只加了一个-t 指明不以 SSL 运行,来关闭https,启动服务时会自动产生证书。
yum -y install shellinabox
vim /etc/sysconfig/shellinaboxd
--
OPTS="--disable-ssl-menu -t -s /:LOGIN"
--
systemctl start shellinaboxd
[root@pangu ~]# ls /var/lib/shellinabox/
certificate-localhost.pem certificate.pem
新建普通用户
useradd icai
passwd icai
本地测试连接
curl -I http://10.10.10.128:4200 ,状态码返回200OK,测试通过
远程连接
通过chrome访问http://10.10.10.128:4200/ ,用普通用户 icai
登录成功。
关于深层次的东西,如何支持https,shellinabox实现方式,大家可以自己研究一下。
相关开源软件:
Gate One http://liftoffsoftware.com/Products/GateOne
wssh https://github.com/aluzzardi/wssh
Ajaxterm https://github.com/antonylesuisse/qweb
Anyterm http://anyterm.org/
Commando.io http://commando.io/
tty.js https://github.com/chjj/tty.js/
KeyBox http://sshkeybox.com/
Webmin http://www.webmin.cn/