Bir gutyndaky gabyk - Web brauzeri arkaly Linux SSH terminalyna giriň


“Shell In A Box” (shellinabox diýilýär) Markus Gutşke tarapyndan döredilen web esasly terminal emulýatory. Belli bir portda web esasly SSH müşderisi hökmünde işleýän içerki web serweri bar we islendik AJAX/JavaScript we CSS- ulanyp, Linux Server SSH Shell-i uzakdan dolandyrmak we dolandyrmak üçin web terminal emulýatoryna çagyrýar. FireSSH ýaly goşmaça brauzer pluginleriniň zerurlygy bolmazdan brauzerleri açyk.

Bu gollanmada, “Shellinabox” -y nädip gurmalydygyny we islendik enjamda häzirki zaman web brauzerini ulanyp, uzakdaky SSH terminalyna nädip girip boljakdygyny düşündirýärin. Gorag diwary bilen goralsaňyz we diňe HTTPS traffigi geçip bilýän bolsa, Linux serwerlerine web esasly SSH girişi örän peýdalydyr.

Linux ulgamlarynda Shellinabox gurmak

Düzgüne görä, “Shellinabox” guraly, görkezilişi ýaly deslapky paket dolandyryjysyny ulanyp, deslapky ammarlaryň üsti bilen Debian esasly Linux paýlamalaryna girýär.

$ sudo apt install openssl shellinabox

Red Hat esasly paýlamalarda, aşakdaky buýruklary ulanyp, çeşmeden gurmaly.

# 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

Linux ulgamlarynda Shellinabox sazlamak

Düzgüne görä, shellinaboxd ýerlihostda 4200 TCP portuny diňleýär. Howpsuzlyk nukdaýnazaryndan, SSH gutyňyza girmegini kynlaşdyrmak üçin bu başlangyç porty tötänleýin üýtgedýärin (ýagny 6175).

Şeýle hem, gurnama wagtynda HTTPS protokolyny ulanmak üçin awtomatiki usulda “/ var/lib/shellinabox” astynda öz-özüne gol çekilen SSL şahadatnamasy döredilýär.

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

Aşakda görkezilişi ýaly konfigurasiýa üýtgeşmelerini ediň ...

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

Sazlama bilen iş bitireniňizden soň, aşakdaky buýruklary berip, shellinabox hyzmatyny täzeden açyp we barlap bilersiňiz.

$ sudo systemctl restart shellinabox
$ sudo systemctl status shellinabox

Indi “Shellinabox” -yň netstat buýrugyny ulanyp 6175 portda işleýändigini ýa-da ýokdugyny barlalyň.

$ sudo netstat -nap | grep shellinabox

“Shelinabox” -yňyzy gorag diwarynda goraýandygyňyzy we Linux gabygyňyza uzakdan girmek üçin belli bir IP adresi üçin 6175 portuny açyň.

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

Web brauzerleri arkaly Linux SSH Terminalyna giriň

Indi web brauzeriňizi açyň we https:/IP-adresiňiz: 6175-e geçiň. Web esasly SSH terminalyny görüp bilmeli. Ulanyjy adyňyzy we parolyňyzy ulanyp giriň we size gabyk görkezmesi görkezilmelidir.

Gabyňyzyň daşky görnüşini we duýgusyny üýtgetmek ýaly birnäçe aýratynlyklary we hereketleri ulanmak üçin sag düwmä basyp bilersiňiz.

Has giňişleýin maglumat üçin resmi Shellinabox github sahypasyna giriň.