shellinabox管理Linux服务(webssh)
我们通常使用众所周知的通信工具(如OpenSSH和Putty等)访问任何远程服务器。但是,有一件重要的事情是,我们不能使用防火墙或只允许HTTPS流量的防火墙后面的工具访问远程系统。别担心!我们仍然有一些选项可以访问您的远程系统,即使您在防火墙后面。此外,您不需要安装任何通信工具,如OpenSSH或Putty。您只需要一个启用JavaScript和CSS的现代浏览器。而且您也不需要安装任何插件或第三方软件。
在一个盒子里遇见Shell,读作shellinabox,一个免费的,开源的,基于Web的AJAX终端模拟器,由Markus Gutschke开发。它使用AJAX技术通过Web浏览器提供本机shell的外观和感觉。shellinaboxd守护程序实现在指定端口上侦听的Web服务器。Web服务器发布一个或多个服务,这些服务将显示在作为AJAX web应用程序实现的VT100模拟器中。缺省情况下,端口为4200。您可以将默认端口更改为您选择的任何随机端口号。在要从本地系统访问的所有远程服务器上安装shellinabox后,打开Web浏览器并导航到:http://IP-地址:4200/。输入用户名和密码,然后开始使用远程系统的shell。
虽然从centos7/rhel7以后,可以使用cockpit进行web管理,里面也带有一个web终端,不过该终端无法复制粘贴,所以也不是一个好的选择。
安装使用
1# yum install epel-release
2# yum install shellinabox
3
4In Debian/Ubuntu:
5$ sudo vi /etc/default/shellinabox
6
7In RHEL/CentOS/Fedora:
8# vi /etc/sysconfig/shellinaboxd
9
10# firewall-cmd --permanent --add-port=4200/tcp
11# firewall-cmd --reload
shellinabox默认监听端口4200。您可以将此端口更改为任意选择的随机数,以使任何人都难以猜测。默认情况下,在Debian/Uubuntu系统中,shellinabox配置文件位于/etc/default/shellinabox文件中。在RHEL/CentOS/Fedora中,配置文件的默认位置是/etc/sysconfig/shellinaboxd。
配置文件内容参考如下:
1# Should shellinaboxd start automatically
2SHELLINABOX_DAEMON_START=1
3
4# TCP port that shellinboxd's webserver listens on
5SHELLINABOX_PORT=6175
6
7# Parameters that are managed by the system and usually should not need
8# changing:
9# SHELLINABOX_DATADIR=/var/lib/shellinabox
10# SHELLINABOX_USER=shellinabox
11# SHELLINABOX_GROUP=shellinabox
12
13# Any optional arguments (e.g. extra service definitions). Make sure
14# that that argument is quoted.
15#
16# Beeps are disabled because of reports of the VLC plugin crashing
17# Firefox on Linux/x86_64.
18SHELLINABOX_ARGS="--no-beep"
19
20# specify the IP address of an SSH server
21OPTS="-s /:SSH:192.168.0.140"
22
23# if you want to restrict access to shellinaboxd from localhost only
24OPTS="-s /:SSH:192.168.0.140 --localhost-only"
最终界面见下图,不过需要注意的是,部分云厂商由于做了安全加固,无法直接使用root用户进行登录,需要通过普通用户切换为root。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/linux-webssh/7155.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.