Shell In A Box - Pristupite Linux SSH terminalu putem web preglednika


Shell In A Box (izgovara se kao shellinabox) emulator je terminala temeljen na webu koji je stvorio Markus Gutschke. Ima ugrađeni web poslužitelj koji radi kao SSH klijent na webu na određenom portu i traži od vas emulator web terminala za pristup i kontrolu vašeg Linux Server SSH Shell daljinski pomoću bilo kojeg AJAX/JavaScript i CSS-omogućenog preglednika bez potrebe za bilo kakvim dodatnim dodacima za preglednik kao što su kao FireSSH.

U ovom vodiču opisujem kako instalirati Shellinabox i pristupiti udaljenom SSH terminalu pomoću modernog web preglednika na bilo kojem računalu. SSH baziran na webu pristup Linux poslužiteljima vrlo je koristan kada ste zaštićeni vatrozidom i samo HTTPS promet može proći.

Instaliranje Shellinaboxa na Linux sustave

Prema zadanim postavkama, alat Shellinabox uključen je u distribucije Linuxa temeljene na Debianu putem zadanih repozitorija pomoću zadanog upravitelja paketima kao što je prikazano.

Instalirajte Shellinabox na Debian, Ubuntu & Mint

sudo apt install openssl shellinabox

Instalirajte Shellinabox na RHEL, Fedora, Rocky & AlamLinux

Na distribucijama koje se temelje na Red Hatu, morate ga instalirati iz izvora pomoću sljedećih naredbi.

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

Konfiguriranje Shellinaboxa u Linux sustavima

Prema zadanim postavkama, shellinaboxd sluša TCP port 4200 na localhost. Iz sigurnosnih razloga, mijenjam ovaj zadani port u slučajni (tj. 6175) kako bih otežao bilo kome pristup vašem SSH okviru.

Također, tijekom instalacije automatski se stvara novi samopotpisani SSL certifikat pod “/var/lib/shellinabox” za korištenje HTTPS protokola.

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

Napravite promjene konfiguracije kao što je prikazano u nastavku…

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"

Nakon što završite s konfiguracijom, možete ponovno pokrenuti i potvrditi uslugu shellinabox izdavanjem sljedećih naredbi.

sudo systemctl restart shellinabox
sudo systemctl status shellinabox

Sada provjerimo radi li Shellinabox na portu 6175 pomoću naredbe netstat.

sudo netstat -nap | grep shellinabox

Osigurajte svoj shellinabox na vatrozidu i otvorite port 6175 za određenu IP adresu za pristup vašem Linux ljuska na daljinu.

------- 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

Pristupite Linux SSH terminalu putem web preglednika

Sada otvorite svoj web preglednik i idite na https://Vaša-IP-Adresa:6175. Trebali biste moći vidjeti web-bazirani SSH terminal. Prijavite se koristeći svoje korisničko ime i lozinku i trebao bi vam se prikazati upit vaše ljuske.

Možete kliknuti desnom tipkom miša za korištenje nekoliko značajki i radnji, uključujući promjenu izgleda i dojma vaše ljuske.

Za više informacija posjetite službenu Shellinabox github stranicu.