Shell in a Box - spletni SSH terminal za dostop do oddaljenih strežnikov Linux


Shell In A Box (izgovarja se kot shellinabox) je spletni emulator terminalov, ki ga je ustvaril Markus Gutschke. Vgrajen ima spletni strežnik, ki deluje kot spletni strežnik SSH na določenih vratih in vas pozove, da emulator spletnega terminala dostopa in nadzoruje vašo strežnik Linux Server SSH na daljavo z uporabo katerega koli brskalnika, ki podpira AJAX/JavaScript in CSS, brez potrebe po vse dodatne vtičnike brskalnika, kot je FireSSH.

V tej vadnici sem opisal, kako namestiti Shellinabox in dostopati do oddaljenega SSH terminala s sodobnim spletnim brskalnikom na katerem koli računalniku. Spletni SSH je zelo koristen, če ste zaščiteni z požarnim zidom in lahko prehaja samo promet HTTP.

Namestitev Shellinaboxa v Linux

Orodje Shellinabox je privzeto vključeno v številne distribucije Linuxa prek privzetih skladišč, vključno z Debian, Ubuntu in Linux Mint.

Prepričajte se, da je vaše skladišče omogočilo in na voljo za namestitev Shellinaboxa iz tega skladišča. Če želite preveriti, poiščite Shellinabox z ukazom "apt-cache" in ga nato namestite z ukazom "apt-get". \\ "

$ sudo apt-cache search shellinabox
$ sudo apt-get install openssl shellinabox

V distribucijah, ki temeljijo na Red Hat, morate najprej omogočiti repozitorij EPEL in ga nato namestiti z naslednjim ukazom "yum". (Uporabnikom Fedore ni treba omogočiti EPEL, to je že del Fedora projekta).

# yum install openssl shellinabox

Konfiguriranje Shellinaboxa

Privzeto shellinaboxd posluša na vratih TCP 4200 na localhostu. Iz varnostnih razlogov spremenim ta privzeta vrata na naključna (tj. 6175), da kdor koli težko doseže vaš SSH box. Med namestitvijo se je samodejno ustvaril nov samopodpisan SSL certifikat pod “/ var/lib/shellinabox” za uporabo protokola HTTPS.

$ sudo vi /etc/default/shellinabox
# TCP port that shellinboxd's webserver listens on
SHELLINABOX_PORT=6175

# specify the IP address of a destination SSH server
SHELLINABOX_ARGS="--o-beep -s /:SSH:172.16.25.125"

# if you want to restrict access to shellinaboxd from localhost only
SHELLINABOX_ARGS="--o-beep -s /:SSH:172.16.25.125 --localhost-only"
# vi /etc/sysconfig/shellinaboxd
# TCP port that shellinboxd's webserver listens on
PORT=6175

# specify the IP address of a destination SSH server
OPTS="-s /:SSH:172.16.25.125"

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

Zagon Shellinaboxa

Ko končate s konfiguracijo, lahko storitev zaženete tako, da izdate naslednji ukaz.

$ sudo service shellinaboxd start
# service shellinaboxd start
# systemctl enable shellinaboxd.service
# systemctl start shellinaboxd.service

Preverite Shellinabox

Zdaj preverimo, ali Shellinabox deluje na vratih 6175 z ukazom "netstat".

$ sudo netstat -nap | grep shellinabox
or
# netstat -nap | grep shellinabox
tcp        0      0 0.0.0.0:6175            0.0.0.0:*               LISTEN      12274/shellinaboxd

Zdaj odprite spletni brskalnik in pojdite na https:/Vaš IP-naslov: 6175. Videti bi morali spletni SSH terminal. Prijavite se z uporabniškim imenom in geslom, pri čemer vam bo prikazan poziv lupine.

Z desno miškino tipko lahko uporabite več funkcij in dejanj, vključno s spreminjanjem videza in občutka lupine.

Prepričajte se, da ste na požarnem zidu zavarovali shellinabox in odprli vrata 6175 za določen naslov IP za oddaljeni dostop do lupine Linuxa.

Referenčne povezave

Domača stran Shellinabox