1. Shellinabox介紹
Shellinabox 是一個利用 Ajax 技術構建的基於 Web 瀏覽器的遠程終端模擬器,也就是說安裝了該軟件之后,服務器端不需要開啟 ssh服務,通過 Web 瀏覽器就可以對遠程主機進行操作,但是你的web瀏覽器需要支持AJAX/Javascript和CSS,因此可以用http://localhost:4200來登錄到你的系統,並且默認情況下啟用了SSL/TLS證書,需要用https://localhost:4200來登錄。
默認情況下shellinabox使用的是TCP協議的4200端口,因此如果你的系統啟用了防火牆的話,請放行4200端口。
2. Shellinabox安裝和配置
2.1 shellinabox的安裝
shellinabox軟件包有源碼包和rpm包,最簡單的方式就是通過rpm包進行安裝。
源碼包:http://shellinabox.googlecode.com/files/shellinabox-2.10.tar.gz
rpm包:
http://pkgs.org/centos-6/epel-x86_64/shellinabox-2.14-24.git88822c1.el6.x86_64.rpm.html
2.1.2 源碼包安裝
解壓:
[root@server2 software]#tar -zxvf shellinabox-2.10.tar.gz
進入到解壓目錄,編譯和安裝:
[root@server2software]# cd shellinabox-2.10
[root@server2shellinabox-2.10]# ./configure && make && make install
在編譯的時候還可以使用--prefix指定安裝路徑。
如:
./configure --prefix=/usr/local/shellinabox
則安裝時將會安裝在/usr/local/shellinabox目錄下,如果不指定的話,則默認會安裝到/usr/local/bin目錄下
默認情況下/etc/sysconfig/shellinaboxd的內容如下:
1 [root@server1 ~]#more /etc/sysconfig/shellinaboxd 2 # Shell in a boxdaemon configuration 3 # For details seeshellinaboxd man page 4 # Basic options 5 USER=shellinabox 6 GROUP=shellinabox 7 CERTDIR=/var/lib/shellinabox 8 PORT=4200 9 OPTS="--disable-ssl-menu-s /:LOGIN" 10 # Additionalexamples with custom options: 11 # Fancyconfiguration with right-click menu choice for black-on-white: 12 #OPTS="--user-css Normal:+black-on-white.css,Reverse:-white-on-black.css--disable-ssl-menu -s /:LOGIN" 13 # Simpleconfiguration for running it as an SSH console with SSL disabled: 14 # OPTS="-t -s/:SSH:host.example.com" 15 [root@server1 ~]#
注釋:
USER和GROUP:指定以哪個用戶和組啟動該服務。
CERTDIR:指定存放SSL證書的目錄。
PORT:指定shellinaboxd服務的監聽端口。默認為4200.
OPTS:設置一些其他的參數。
常用的opts如下:
-t:關閉SSL/TLS的支持。也就是不需要使用HTTPS連接,可以直接用http連接。
服務的啟動與停止:
/etc/init.d/shellinaboxd start /etc/init.d/shellinaboxd restart /etc/init.d/shellinaboxd stop
觀察服務監聽的端口:
[root@server1 ~]#netstat -tnlp | grep shellinabox
tcp 0 0 0.0.0.0:4200 0.0.0.0:* LISTEN 22455/shellinaboxd
[root@server1 ~]#
設置服務的開機自動啟動:
[root@server1 ~]#chkconfig shellinaboxd --level 35 on
[root@server1 ~]#chkconfig --list | grep shellinaboxd
shellinaboxd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
[root@server1 ~]#
2.2.2 采用源碼包安裝時啟動服務的指令
當采用源碼包安裝shellinabox時,啟動服務的方式如下:
<安裝路徑>/bin/shellinaboxd 選項
常用的選項如下:
-b:在后台運行該服務
-u:指定運行該服務的用戶,默認為nobody
-g:指定運行該服務的組,默認為nobody
-p:指定shellinaboxd的監聽端口
-t:表示關閉SSL/TLS的支持。
-c:指定存放SSL證書的目錄。
啟動服務:
/usr/local/bin/shellinaboxd-b -t -u root
觀察服務監聽的端口:
[root@server2 bin]#netstat -tunlp | grep shellinabox
tcp 0 0 0.0.0.0:4200 0.0.0.0:* LISTEN 6765/shellinaboxd
[root@server2 bin]#
停止服務:
killall -9 shellinaboxd
設置服務的開機自動啟動:
編輯/etc/rc.d/rc.local,增加如下內容:
/usr/local/bin/shellinaboxd-b -t -u root -g root
至此,使用10.16.59.100:4200訪問,若訪問成功,則表示安裝已經成功