How to access ssh terminal in web browser on Linux
How to access ssh terminal in web browser on linux
Running “everything” in a web browser used to be a bold statement. However, due to the powerful HTML5/JavaScript stack, a web browser increasingly becomes a dominant application delivery platform.
In this tutorial, we will looking that, how to access an SSH terminal in a web browser on Linux. Web-based SSH is useful when the firewall you are behind is so restrictive that only HTTP(s) traffic can get through. Or in case when we don't have ssh access client tools(putty, ssh-client)
Shell In A Box (or shellinabox) is a web-based terminal emulator, Which can run as a web-based SSH client. It comes with its own web server (shellinaboxd) which exports a command line shell to a web-based terminal emulator via AJAX interface. Shell In a Box only needs JavaScript/CSS support from a web browser, and does not require any additional browser plugin.
##################Install shellinabox on Linux#################
To install shellinabox on Fedora:
[root@myserver ~]# yum install openssl shellinabox
To install on Centos/RHEL: # we need enable epel repository first.
[root@myserver ~]# yum install openssl shellinabox
To install shellinabox on Debian, Ubuntu or Linux Mint:
[root@myserver ~]# apt-get install openssl shellinabox
Configure Shellinabox Web Server:
By default shellinabox web server listens on 4200 TCP port on localhost. Now here i will change the default port to 443 for HTTPS. For that, modify shellinabox configuration as follows.
Configure shellinabox On Fedora/CentOS/RHEL:
[root@myserver ~]# vim /etc/sysconfig/shellinaboxd
PORT=443 ----------------> default port is 4200
#specify the IP address of ssh server
OPTS="-s /:SSH:192.168.50.144" ---------->my ssh server ip address:
save and exit now:
Configure shellinaboxd On Debian, Ubuntu or Linux Mint:
[root@myserver ~]# vim /etc/default/shellinabox
SHELLINABOX_PORT=443
SHELLINABOX_ARGS="--o-beep -s /:SSH:192.168.50.144"
save and exit now:
Now because we are using 443 port number so now we need a self signed certificate, So here we need to create self signed certificate. We can create it as follows:
# cd /var/lib/shellinabox
# openssl genrsa -des3 -out myserver.key 1024
# openssl req -new -key myserver.key -out myserver.csr
# cp myserver.key myserver.key.org
# openssl rsa -in myserver.key.org -out myserver.key
# openssl x509 -req -days 365 -in myserver.csr -signkey myserver.key -out myserver.crt
# cat myserver.crt myserver.key > certificate.pem
Now start the service, There is same method to start service on each flavor of linux:
[root@myserver ~]# service shellinabox start ---> On Ubuntu,debian,Linux Mint:
[root@myserver ~]# service shellinaboxd on ---> On Fedora,RHEL,CentOS
Now verify the port number of shellinabox
[root@myserver ~]# netstat -tupnl | grep shellinabox
Now open up your web browser, and navigate to https://. You should be able to see a web-based SSH console, and log in to the remote SSH server via web browser interface.
This comment has been removed by the author.
ReplyDeletenice post dude !!! keep it up
ReplyDelete