Shell In A Box - Zougang zu Linux SSH Terminal iwwer Webbrowser


Shell In A Box (ausgeschwat als shellinabox) ass e webbaséierten Terminalemulator erstallt vum Markus Gutschke. Et huet en agebaute Webserver deen als webbaséierten SSH Client op engem spezifizéierte Hafen leeft an Iech op e Webterminal Emulator freet fir Zougang zu Ärem Linux Server SSH Shell op afstand ze benotzen mat all AJAX/JavaScript an CSS- aktivéiert Browser ouni de Besoin fir zousätzlech Browser Plugins wéi FireSSH.

An dësem Tutorial beschreiwen ech wéi ech Shellinabox installéiere kënnen an Zougang zu engem Remote SSH Terminal mat engem modernen Webbrowser op all Maschinn. Web-baséiert SSH Zougang zu Linux Server ass ganz nëtzlech wann Dir mat enger Firewall geschützt sidd an nëmmen HTTPS Traffic kann duerchkommen.

Installéiere Shellinabox op Linux Systemer

Par défaut ass de Shellinabox-Tool op Debian-baséiert Linux Verdeelungen iwwer Standardrepositories mat dem Standard Package Manager abegraff wéi gewisen.

$ sudo apt install openssl shellinabox

Op Red Hat-baséiert Verdeelungen, musst Dir et aus der Quell installéieren mat de folgende Kommandoen.

# yum install git openssl-devel pam-devel zlib-devel autoconf automake libtool
# git clone https://github.com/shellinabox/shellinabox.git && cd shellinabox
# autoreconf -i
# ./configure && make

Shellinabox an Linux Systemer konfiguréieren

Par défaut lauschtert shellinaboxd op TCP Hafen 4200 op localhost. Aus Sécherheetsgrënn änneren ech dëse Standardport op eng zoufälleg (dh 6175) fir datt et schwéier ass fir jiddereen Är SSH Box z'erreechen.

Och wärend der Installatioun gëtt en neie selbst ënnerschriwwene SSL Zertifika automatesch ënner /var/lib/shellinabox erstallt fir HTTPS Protokoll ze benotzen.

$ sudo vi /etc/default/shellinabox
OR 
$ sudo nano /etc/default/shellinabox

Maacht d'Konfiguratiounsännerungen wéi hei ënnendrënner ...

# Should shellinaboxd start automatically
SHELLINABOX_DAEMON_START=1

# TCP port that shellinboxd's webserver listens on
SHELLINABOX_PORT=6175

# Parameters that are managed by the system and usually should not need
# changing:
# SHELLINABOX_DATADIR=/var/lib/shellinabox
# SHELLINABOX_USER=shellinabox
# SHELLINABOX_GROUP=shellinabox

# Any optional arguments (e.g. extra service definitions).  Make sure
# that that argument is quoted.
#
#   Beeps are disabled because of reports of the VLC plugin crashing
#   Firefox on Linux/x86_64.
SHELLINABOX_ARGS="--no-beep"

# specify the IP address of an SSH server
OPTS="-s /:SSH:192.168.0.140"

# if you want to restrict access to shellinaboxd from localhost only
OPTS="-s /:SSH:192.168.0.140 --localhost-only"

Wann Dir mat der Konfiguratioun gemaach hutt, kënnt Dir de Shellinabox Service nei starten a verifizéieren andeems Dir déi folgend Kommandoen ausgëtt.

$ sudo systemctl restart shellinabox
$ sudo systemctl status shellinabox

Loosst eis elo iwwerpréiwen ob Shellinabox um Hafen 6175 mam Netstat Kommando leeft.

$ sudo netstat -nap | grep shellinabox

Vergewëssert Iech datt Dir Är Shellinabox op der Firewall séchert an den 6175 Hafen fir eng spezifesch IP Adress opmaacht fir op Är Linux Shell op afstand ze kommen.

------- On Debian, Ubuntu and Mint -------
$ sudo ufw allow 6175/tcp
$ sudo ufw allow from 192.168.0.103 to any port 6175   

------- On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux -------
$ sudo firewall-cmd --zone=public --add-port=6175/tcp  
$ sudo firewall-cmd --zone=public --add-source=192.168.0.103/6175 --permanent

Zougang zu Linux SSH Terminal iwwer Webbrowser

Maacht elo Äre Webbrowser op, a navigéiert op https://Your-IP-Adress:6175. Dir sollt fäeg sinn e webbaséierten SSH-Terminal ze gesinn. Loggt Iech mat Ärem Benotzernumm a Passwuert un an Dir sollt Är Shell-Prompt presentéiert ginn.

Dir kënnt mat riets klickt fir verschidde Funktiounen an Aktiounen ze benotzen, dorënner d'Ännere vum Look a Feel vun Ärer Shell.

Fir méi Informatioun, besicht déi offiziell Shellinabox github Säit.