文章目录
  1. 1. 简介
  2. 2. 安装
  3. 3. 使用
  4. 4. 原理
  5. 5. 参考

通常情况下,我们访问Linux服务器时会使用Putty或者Xshell等SSH客户端工具,但这些工具均需要安装后才能使用,在安全要求不高(如局域网)或者只是开放服务器给其他人体验某种功能时,客户端这种方式略显繁琐。本文将介绍一款开源神器shellinabox,只需要浏览器就可以进行远程访问,相信用过它后,定会爱不释手。

简介

shellinabox使用AJAX技术,通过浏览器提供了原生Shell的外观,并且部署和使用都非常简单。由于shellinabox比较简单,在安全上不如SSH协议,建议不要在安全要求高的场景下使用。

安装

主流的发行版均提供shellinabox包,当然也可以自行编译、安装,具体步骤参考官网
在Ubuntu上,你可以使用如下命令安装它:

1
$ sudo apt-get install shellinabox

安装后的可执行程序是shellinaboxd,其配置文件为/etc/default/shellinabox,可以按需更改,如修改默认端口号。或者也可以在启动时,通过参数传入配置。

使用

在浏览器中输入https://your-ip:4200,忽略证书错误,输入用户名、密码就可以使用了,是不是很简单!
login-screen

在浏览器窗口中单击右键,会弹出一个菜单,前面有对号的表示生效的配置
menu

其中,
Copy复制选中的文字
Paste粘贴通过Copy复制的文字
Paste from browser允许你从浏览器外部粘贴内容到终端
Reset清屏
Unicode字符集,根据情况选择
Visual Bell虚拟蜂鸣器,在输入异常时,屏幕闪烁
Onscreen Keyboard屏幕键盘
Blinking Cursor光标闪烁
Secure是否安全模式,即是否采用https,下次登录有效
Black on White白底黑字
White on Black黑底白字
Color Terminal彩色
Monochrome黑白
About一些版权信息

输入exit退出系统后,窗口并不会关闭,而是弹出一个“Connect”按钮,点击按钮再次登录。
exit

原理

shellinaboxd会启动一个web服务器,当请求到达时会调用login程序进行认证,认证通过后调用bash。多次登录,会启动多个login程序,通过pstree命令可以清晰的看到调用关系。
theory

参考

文章目录
  1. 1. 简介
  2. 2. 安装
  3. 3. 使用
  4. 4. 原理
  5. 5. 参考