基于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
,忽略证书错误,输入用户名、密码就可以使用了,是不是很简单!
在浏览器窗口中单击右键,会弹出一个菜单,前面有对号的表示生效的配置
其中,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”按钮,点击按钮再次登录。
原理
shellinaboxd会启动一个web服务器,当请求到达时会调用login程序进行认证,认证通过后调用bash。多次登录,会启动多个login程序,通过pstree命令可以清晰的看到调用关系。