Shellinabox 是一个利用 Ajax 技术构建的基于 Web 的远程Terminal 模拟器,也就是说安装了该软件之后,不需要开启 ssh服务,通过 Web 网页就可以对远程主机进行维护操作了,出于安全考虑, Shellinabox 默认强制使用了https协议,这是个挺有趣的技术,因而就在centos上面折腾了下,下面记录了主要的操作步骤
1、shellinabox安装
1 2 3 4 5 |
wget http: //shellinabox .googlecode.com /files/shellinabox-2 .10. tar .gz tar -zxvf shellinabox-2.10. tar .gz cd shellinabox-2.10 . /configure --prefix= /usr/local/shellinabox make && make install |
2、shellinabox试启动
1 2 3 4 5 6 7 |
/usr/local/shellinabox/bin/shellinaboxd /usr/local/shellinabox/bin/shellinaboxd -b -t #-b选项代表在后台启动,-t选项表示不使用https方式启动,默认以nobody用户身份,监听TCP4200端口 netstat -ntpl | grep shell #查看shellinabox启用的端口 killall shellinaboxd #结束进程 |
3、生成pem证书,以https方式启动,pem证书的格式为公钥加私钥,并以x509的格式进行打包
1 2 3 4 5 6 7 8 9 10 11 |
openssl genrsa -des3 -out my.key 1024 #这条命令运行后需要输入大量信息 openssl req -new -key my.key -out my.csr cp my.key my.key.org openssl rsa - in my.key.org -out my.key openssl x509 -req -days 3650 - in my.csr -signkey my.key -out my.crt cat my.crt my.key > certificate.pem /usr/local/shellinabox/bin/shellinaboxd -c /root -u root -b #-c参数指定pem证书目录,默认证书名为certificate.pem,-u 选项指定启动的用户身份 netstat -ntpl | grep 4200 ps -ef | grep shell |
好了,现在可以实现用IE做为SSH客户端访问服务器了,在IE地址栏输入 https://192.168.0.99:4200 (这是我的内网测试服务器IP),就可以看到下面的页面了。
接下来你就可以像登陆SSH客户端一样输入命令了。
安装过程中出了点问题,整个过程安装完的时候,在IE已经能看到 login: 信息了,但是一直root登陆不上去,后来问了下一个linux群里的朋友,他说好像默认是不让root登陆的,只能其它用户登陆,然后再 su - 切换过去。