weh shell高大上?一文教你實(shí)現(xiàn)
一稍计、概述
在很多堡壘機(jī)躁绸、IT審計(jì)等平臺(tái)中,基本上都會(huì)帶上一個(gè)web版的ssh臣嚣,實(shí)現(xiàn)了用戶能在web界面對(duì)服務(wù)器進(jìn)行shell操作净刮。又或者我們在防火墻后面不能使用這些工具訪問遠(yuǎn)程系統(tǒng),或者防火墻只允許HTTPS流量才能通過硅则。那我們怎么才能對(duì)服務(wù)器進(jìn)行操作呢淹父?
二、shellinaboxd
是由Markus Gutschke開發(fā)的一款自由開源的基于Web的Ajax的終端模擬器怎虫。使用shellainbox不需要安裝任何類似于 XShell 或 Putty 的通訊工具暑认,也不用安裝任何插件或第三方應(yīng)用軟件困介,你只需要有一個(gè)支持 JavaScript 和 CSS 的現(xiàn)代瀏覽器,通過Web瀏覽器提供了類似原生的 Shell 的外觀和感受蘸际。shellinaboxd守護(hù)進(jìn)程實(shí)現(xiàn)了一個(gè)Web服務(wù)器座哩,能夠偵聽指定的端口。但是捡鱼,這并不一定是一個(gè)安全的軟件八回,我不建議在公網(wǎng)上將其暴露出來酷愧。
1) 安裝shellinabox
本文以centos 7.5為例
- 使用yum安裝
[root@yunwsn /]# yum install shellinabox -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package shellinabox.x86_64 0:2.20-5.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================
Package Arch Version Repository Size
====================================================================================
Installing:
shellinabox x86_64 2.20-5.el7 epel 136 k
Transaction Summary
====================================================================================
Install 1 Package
Total download size: 136 k
Installed size: 503 k
Downloading packages:
shellinabox-2.20-5.el7.x86_64.rpm | 136 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : shellinabox-2.20-5.el7.x86_64 1/1
Verifying : shellinabox-2.20-5.el7.x86_64 1/1
Installed:
shellinabox.x86_64 0:2.20-5.el7
Complete!
[root@yunwsn /]#
- 啟動(dòng)服務(wù)
[root@yunwsn /]# systemctl start shellinaboxd.service
[root@yunwsn /]# systemctl status shellinaboxd.service
● shellinaboxd.service - Shell In A Box daemon
Loaded: loaded (/usr/lib/systemd/system/shellinaboxd.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2019-06-03 14:23:54 CST; 7s ago
Docs: man:shellinaboxd(1)
Main PID: 30454 (shellinaboxd)
CGroup: /system.slice/shellinaboxd.service
├─30454 /usr/sbin/shellinaboxd -u shellinabox -g shellinabox --cert=/v...
└─30455 /usr/sbin/shellinaboxd -u shellinabox -g shellinabox --cert=/v...
- 查看端口
[root@yunwsn /]# netstat -natlp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 876/sshd
tcp 0 0 0.0.0.0:4200 0.0.0.0:* LISTEN 30454/shellinaboxd
可以看到默認(rèn)端口是4200
2) 使用shellainbox
- 使用網(wǎng)頁打開https://ip:4200(注意:一定是https打開)
- 登錄(注意驾诈,不支持root用戶登錄,只能使用普通用戶登錄)
image
3) 修改端口號(hào)
- 修改配置文件溶浴,修改PORT即可
vi /etc/sysconfig/shellinaboxd
# Basic options
USER=shellinabox
GROUP=shellinabox
CERTDIR=/var/lib/shellinabox
PORT=443
OPTS="--disable-ssl-menu -s /:LOGIN"
- 重啟服務(wù)
systemctl restart shellinaboxd.service
- 查看端口
tcp 0 0 10.104.145.137:443 116.21.13.32:39703 ESTABLISHED 31255/shellinaboxd
完
微信公眾號(hào)~運(yùn)維少年