Shell In A Box:一款访问远程Linux服务器的SSH终端

译文
运维 系统运维
Shell In A Box是一款基于Web的终端模拟器,本文将介绍如何安装Shellinabox,并使用在任何机器上的现代Web浏览器,访问远程SSH终端。如果你由防火墙加以保护,只有HTTP(s)流量才能顺利通过,那么基于Web的SSH非常有用。

【51CTO精选译文】Shell In A Box(发音是shellinabox)是一款基于Web的终端模拟器,由Markus Gutschke开发而成。它有内置的Web服务器,在指定的端口上作为一个基于Web的SSH客户端而运行,可以为你提供一个Web终端模拟器,以便使用任何支持AJAX/JavaScript和CSS的浏览器,远程访问和控制你的Linux服务器SSH外壳,不需要像FireSSH这些任何额外的浏览器插件。

在本教程中,我介绍如何安装Shellinabox,并使用在任何机器上的现代Web浏览器,访问远程SSH终端。如果你由防火墙加以保护,只有HTTP(s)流量才能顺利通过,那么基于Web的SSH非常有用。

将Shellinabox安装在Linux上

默认情况下,借助默认软件库,Shellinabox工具已包含在许多Linux发行版上,其中包括Debian、Ubuntu和Linux Mint。

确保你的软件库已启用,并可以用来从该软件库安装Shellinabox。为了核实,请使用"apt-cache"命令搜索Shellinabox,然后使用"apt-get"命令来安装它。

在Debian、Ubuntu和Linux Mint上:

  1. $ sudo apt-cache search shellinabox 
  2. $ sudo apt-get install openssl shellinabox 

在RHEL、CentOS和Fedora上:

在基于红帽的发行版上,你需要先启用EPEL软件库,然后使用下面这个"yum"命令来安装它。(Fedora用户不需要启用EPEL软件库,因为它已经是Fedora项目的一部分。)

  1. # yum install openssl shellinabox 

配置Shellinabox

默认情况下,shellinaboxd侦听本地主机上的TCP端口4200。出于安全方面的原因,我将这个默认端口改成了随机端口(比如端口6175),那样任何人都很难企及你的SSH设备。此外,在安装过程中,一个新的自签名SSL证书会在"/var/lib/shellinabox"下自动创建,以便使用HTTPS协议。

在Debian、Ubuntu和Linux Mint上:

  1. $ sudo vi /etc/default/shellinabox 
  2. # shellinboxd的Web服务器侦听的TCP端口 
  3. SHELLINABOX_PORT=6175 
  4. # 指定目的地SSH服务器的IP地址 
  5. SHELLINABOX_ARGS="--o-beep -s /:SSH:172.16.25.125" 
  6. # 如果你想限制只能从本地主机访问shellinaboxd 
  7. SHELLINABOX_ARGS="--o-beep -s /:SSH:172.16.25.125 --localhost-only" 

在RHEL、CentOS和Fedora上:

  1. # vi /etc/sysconfig/shellinaboxd  
  2. # shellinboxd的Web服务器侦听的TCP端口  
  3. PORT=6175  
  4. # 指定目的地SSH服务器的IP地址  
  5. OPTS="-s /:SSH:172.16.25.125"  
  6. # 如果你想限制只能从本地主机访问shellinaboxd  
  7. OPTS="-s /:SSH:172.16.25.125 --localhost-only"  
  8. 启动Shellinabox 
  9. 一旦你完成了配置工作,就可以使用下面这个命令,启动这项服务。 

在Debian、Ubuntu和Linux Mint上:

 

  1. $ sudo service shellinaboxd start 

在RHEL和CentOS上:

  1. # service shellinaboxd start 

在Fedora上:

  1. # systemctl enable shellinaboxd.service 
  2. # systemctl start shellinaboxd.service 
  3. 验证Shellinabox 
  4. 现在不妨使用"netstat"这个命令,验证Shellinabox是否在端口6175上运行。 
  5. $ sudo netstat -nap | grep shellinabox 
  6. or 
  7. # netstat -nap | grep shellinabox 
  8. tcp        0      0 0.0.0.0:6175            0.0.0.0:*               LISTEN      12274/shellinaboxd 

现在打开你的浏览器,浏览到https://Your-IP-Adress:6175。你应该能够看到一个基于Web的SSH终端。使用你的用户名和密码进行登录,你应该会看到外壳提示符。

Shellinabox SSH登录

Shellinabox SSH外壳

Shellinabox SSH退出

你可以右击鼠标,使用几项特性和操作,包括更改外壳的外观和感觉。

Shellinabox的更多选项

确保你通过防火墙保障shellinabox,并且针对特定的IP地址打开6175端口,以便远程访问你的Linux外壳。

参考链接:Shellinabox的主页

原文链接:http://www.tecmint.com/shell-in-a-box-a-web-based-ssh-terminal-to-access-remote-linux-servers/

责任编辑:黄丹 来源: 51CTO.com
相关推荐

2009-12-24 13:49:20

Linux服务器集群

2020-06-01 16:45:44

Linux终端Terminus

2010-03-10 11:31:31

2020-02-17 07:20:22

SSH远程连接工具Linux

2019-05-06 11:49:10

DomTerm终端模拟器Linux

2009-02-27 13:53:00

远程服务器RAS

2013-11-08 10:56:15

2017-02-16 14:00:17

CloudStatsSaaS服务器

2016-10-13 12:53:06

Linux终端仿真器

2016-12-02 12:48:33

2022-07-28 15:46:08

Linux工具

2013-02-21 13:47:39

服务器处理器采购

2014-06-10 09:07:03

2022-04-21 15:00:53

LinuxShell

2021-09-29 11:46:05

远程服务器VSCode

2019-11-21 09:24:50

SSH服务器工具

2013-11-12 09:59:48

2010-10-22 09:25:38

服务器虚拟化

2021-01-27 13:16:39

ScreenLinux命令

2021-02-16 10:58:50

ScreenLinux命令
点赞
收藏

51CTO技术栈公众号