基于Web的终端模拟神器shellinabox简介

通常情况下,我们访问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