How to access ssh terminal in web browser on Linux
来源:互联网 发布:哈萨克语翻译软件 编辑:程序博客网 时间:2024/05/22 07:59
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. Eventhe Linux kernel sandboxed in a web browser no longer sounds so crazy these days.
In this tutorial, I describe 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.
Shell In A Box (orshellinabox) 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 Shell In A Box on Linux
To install shellinabox on Debian, Ubuntu or Linux Mint:
To install shellinabox on Fedora:
To install shellinabox on CentOS or RHEL, first enable EPEL repository, and then run:
Configure Shellinaboxd Web Server
By default shellinaboxd web server listens on 4200 TCP port on localhost. In this tutorial, I change the default port to 443 for HTTPS. For that, modifyshellinabox configuration as follows.
Configure shellinaboxd On Debian, Ubuntu or Linux Mint:
# TCP port that shellinboxd's webserver listens onSHELLINABOX_PORT=443# specify the IP address of a destination SSH serverSHELLINABOX_ARGS="--o-beep -s /:SSH:192.168.1.7"# if you want to restrict access to shellinaboxd from localhost onlySHELLINABOX_ARGS="--o-beep -s /:SSH:192.168.1.7 --localhost-only"
Configure shellinaboxd On Fedora, CentOS or RHEL:
# TCP port that shellinboxd's webserver listens onPORT=443# specify the IP address of a destination SSH serverOPTS="-s /:SSH:192.168.1.7"# if you want to restrict access to shellinaboxd from localhost onlyOPTS="-s /:SSH:192.168.1.7 --localhost-only"
Heads-up for Fedora users: According to the official document, some operations may not work out of the box when you run shellinaboxd in SELinux mode on Fedora. Refer to the document if you have any issue.
Provision a Self-Signed Certificate
During the installation of Shell In A Box, shellinaboxd attempts to create a new self-signed certificate (certificate.pem) by using/usr/bin/openssl if no suitable certificate is found on your Linux. The created certificate is then placed in /var/lib/shellinabox.
If no certificate is found in the directory for some reason, you can create one yourself as follows.
# cd /var/lib/shellinabox
# openssl genrsa -des3 -out server.key 1024
# openssl req -new -key server.key -out server.csr
# cp server.key server.key.org
# openssl rsa -in server.key.org -out server.key
# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
# cat server.crt server.key > certificate.pem
Run Shellinaboxd Web Server
On Debian, Ubuntu or Linux Mint:
On Fedora, CentOS or RHEL:
$ sudo systemctl start shellinaboxd.service
To verify if shellinaboxd is running:
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 4787/shellinaboxd
Now open up your web browser, and navigate to https://<IP_address_of_SSH_server>. You should be able to see a web-based SSH console, and log in to the remote SSH server via web browser interface.
- How to access ssh terminal in web browser on Linux
- shellinabox : How to access ssh terminal in web browser on Linux Last updated on September 27, 2013
- How to kill a particular user terminal on Linux
- How To Open An URL In Android’s Web Browser
- How to make windows access web server in VM linux OS
- How to launch terminal Window in Fedora
- How to use Terminal in Vim
- how to start terminal in ubuntu.
- How to stream a webcam to a web browser in Ubuntu
- How to configure default browser in registry
- Linux: How to Enable SSH on Fedora 16
- How to get browser name, version and operating system detail in selenium 2(Web driver)
- How to access Dropbox from the command line in Linux
- JavaCC How to access non-terminal's TOKEN child
- How to use rar in console on linux.
- How to turn on RSH and RLOGIN in Linux?
- How to Access Git Repository via SSH
- How to set network proxy for terminal in Ubuntu
- JSP/Servlet 工作原理
- 几种常见的用于拟合的分布
- Monkeyrunner学习之五
- protobuf文件嵌套结构实例
- java的自动装箱与拆箱以及缓存的问题
- How to access ssh terminal in web browser on Linux
- 为Cocos2d-x的Android平台添加Protobuffer支持
- c++11---统一的初始化和初始化列表
- android 进程监控 top
- webrtc从入门到深入---01
- python中序列化用法(pickle)
- 键盘虚拟键值编码表 使用keybd_Event 以及虚拟按键与扫描码相互转化函数MapVirtualKey
- 排列组合递归算法 java
- Android-加载图片OOM总结