ഷെൽ ഇൻ എ ബോക്സിൽ - വെബ് ബ്രൗസർ വഴി Linux SSH ടെർമിനൽ ആക്സസ് ചെയ്യുക


Markus Gutschke സൃഷ്ടിച്ച ഒരു വെബ് അധിഷ്ഠിത ടെർമിനൽ എമുലേറ്ററാണ് ഷെൽ ഇൻ എ ബോക്സ് (ഷെല്ലിനാബോക്സ് എന്ന് ഉച്ചരിക്കുന്നത്). ഒരു നിർദ്ദിഷ്ട പോർട്ടിൽ വെബ്-അധിഷ്ഠിത എസ്എസ്എച്ച് ക്ലയന്റ് ആയി പ്രവർത്തിക്കുന്ന ഒരു ബിൽറ്റ്-ഇൻ വെബ് സെർവർ ഇതിന് ഉണ്ട് കൂടാതെ ഏതെങ്കിലും AJAX/JavaScript, CSS- എന്നിവ ഉപയോഗിച്ച് നിങ്ങളുടെ Linux സെർവർ SSH ഷെൽ വിദൂരമായി ആക്സസ് ചെയ്യാനും നിയന്ത്രിക്കാനും ഒരു വെബ് ടെർമിനൽ എമുലേറ്ററിലേക്ക് നിങ്ങളെ പ്രേരിപ്പിക്കുന്നു. പ്രവർത്തനക്ഷമമാക്കിയ ബ്രൗസറുകൾ FireSSH പോലുള്ള അധിക ബ്രൗസർ പ്ലഗിന്നുകളുടെ ആവശ്യമില്ല.

ഈ ട്യൂട്ടോറിയലിൽ, ഏത് മെഷീനിലും ഒരു ആധുനിക വെബ് ബ്രൗസർ ഉപയോഗിച്ച് Shellinabox എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും റിമോട്ട് SSH ടെർമിനൽ ആക്സസ് ചെയ്യാമെന്നും ഞാൻ വിവരിക്കുന്നു. നിങ്ങൾ ഒരു ഫയർവാൾ ഉപയോഗിച്ച് പരിരക്ഷിക്കുമ്പോൾ ലിനക്സ് സെർവറുകളിലേക്കുള്ള വെബ് അധിഷ്ഠിത SSH ആക്സസ് വളരെ ഉപയോഗപ്രദമാണ്, മാത്രമല്ല HTTPS ട്രാഫിക്കിന് മാത്രമേ കടന്നുപോകാൻ കഴിയൂ.

Linux സിസ്റ്റങ്ങളിൽ Shellinabox ഇൻസ്റ്റാൾ ചെയ്യുന്നു

ഡിഫോൾട്ടായി, ഡിഫോൾട്ട് പാക്കേജ് മാനേജർ ഉപയോഗിച്ച് ഡിഫോൾട്ട് റിപ്പോസിറ്ററികൾ വഴി ഡെബിയൻ അടിസ്ഥാനമാക്കിയുള്ള ലിനക്സ് വിതരണങ്ങളിൽ ഷെല്ലിനാബോക്സ് ടൂൾ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.

$ sudo apt install openssl shellinabox

Red Hat അടിസ്ഥാനമാക്കിയുള്ള വിതരണങ്ങളിൽ, ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് ഉറവിടത്തിൽ നിന്ന് നിങ്ങൾ ഇത് ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്.

# 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

ലിനക്സ് സിസ്റ്റങ്ങളിൽ ഷെല്ലിനാബോക്സ് ക്രമീകരിക്കുന്നു

സ്ഥിരസ്ഥിതിയായി, ലോക്കൽഹോസ്റ്റിലെ TCP പോർട്ട് 4200-ൽ shellinaboxd ശ്രദ്ധിക്കുന്നു. സുരക്ഷാ കാരണങ്ങളാൽ, നിങ്ങളുടെ SSH ബോക്സിൽ എത്തിച്ചേരുന്നത് ആർക്കും ബുദ്ധിമുട്ടാക്കുന്നതിനായി ഞാൻ ഈ ഡിഫോൾട്ട് പോർട്ട് ഒരു ക്രമരഹിതമായി (അതായത് 6175) മാറ്റുന്നു.

കൂടാതെ, ഇൻസ്റ്റാളേഷൻ സമയത്ത്, HTTPS പ്രോട്ടോക്കോൾ ഉപയോഗിക്കുന്നതിന് /var/lib/shellinabox എന്നതിന് കീഴിൽ ഒരു പുതിയ സ്വയം ഒപ്പിട്ട SSL സർട്ടിഫിക്കറ്റ് സ്വയമേവ സൃഷ്ടിക്കപ്പെടും.

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

താഴെ കാണിച്ചിരിക്കുന്നത് പോലെ കോൺഫിഗറേഷൻ മാറ്റങ്ങൾ വരുത്തുക...

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

കോൺഫിഗറേഷൻ പൂർത്തിയാക്കിക്കഴിഞ്ഞാൽ, ഇനിപ്പറയുന്ന കമാൻഡുകൾ നൽകി നിങ്ങൾക്ക് ഷെല്ലിനാബോക്സ് സേവനം പുനരാരംഭിക്കാനും പരിശോധിക്കാനും കഴിയും.

$ sudo systemctl restart shellinabox
$ sudo systemctl status shellinabox

നെറ്റ്സ്റ്റാറ്റ് കമാൻഡ് ഉപയോഗിച്ച് പോർട്ട് 6175-ൽ ഷെല്ലിനാബോക്സ് പ്രവർത്തിക്കുന്നുണ്ടോയെന്ന് ഇപ്പോൾ പരിശോധിക്കാം.

$ sudo netstat -nap | grep shellinabox

ഫയർവാളിൽ നിങ്ങളുടെ ഷെല്ലിനാബോക്സ് സുരക്ഷിതമാക്കിയിട്ടുണ്ടെന്ന് ഉറപ്പുവരുത്തുക കൂടാതെ നിങ്ങളുടെ Linux ഷെൽ വിദൂരമായി ആക്സസ് ചെയ്യുന്നതിനായി ഒരു നിർദ്ദിഷ്ട IP വിലാസത്തിനായി 6175 പോർട്ട് തുറക്കുക.

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

വെബ് ബ്രൗസറുകൾ വഴി Linux SSH ടെർമിനൽ ആക്സസ് ചെയ്യുക

ഇപ്പോൾ നിങ്ങളുടെ വെബ് ബ്രൗസർ തുറന്ന് https://Your-IP-Adress:6175 എന്നതിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക. നിങ്ങൾക്ക് ഒരു വെബ് അധിഷ്ഠിത SSH ടെർമിനൽ കാണാൻ കഴിയണം. നിങ്ങളുടെ ഉപയോക്തൃനാമവും പാസ്വേഡും ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യുക, നിങ്ങളുടെ ഷെൽ പ്രോംപ്റ്റ് നിങ്ങൾക്ക് നൽകണം.

നിങ്ങളുടെ ഷെല്ലിന്റെ രൂപവും ഭാവവും മാറ്റുന്നത് ഉൾപ്പെടെ നിരവധി സവിശേഷതകളും പ്രവർത്തനങ്ങളും ഉപയോഗിക്കാൻ നിങ്ങൾക്ക് റൈറ്റ് ക്ലിക്ക് ചെയ്യാം.

കൂടുതൽ വിവരങ്ങൾക്ക്, ഔദ്യോഗിക Shellinabox github പേജ് സന്ദർശിക്കുക.