前言

想想吧,通过网页 ssh 登录服务器是一件多么酷的事情?今天看了 使用浏览器访问 Linux 终端 , 也就是这个 wssh , 你也可以理解为 websocket-ssh, 觉得有点意思就拿出来

原路

它是一个库,很简单,作者写了 2 个 flask+gevent+websocket+paramiko 的例子,其中网页版的使用了 bootstrap. 简单的理解就是不通过 ssh 连接服务器,而是通过网页或者一个 client 请求 url + 相应参数调用 shell 到服务器的方式,但是遗憾的是作者一年没有再维护,bootstrap 的网页竟然没有指定 ssh 端口的选项,但是很多时候为了安全 都会把 ssh 端口换成其它端口,这样就不能用了,好吧 我动手给它加了这个功能,也提了 pull request. 目前大家可以用我的这版: wssh

update

wssh 作者已经合并了我的修改

使用说明

当你使用

sudo python setup.py install

安装后,就能直接使用 wssh 和 wsshd,wsshd 是一个 flask 作为 httpserver 和 gevent 作为 wsgi 的服务端,默认启动在你本机的 5000 端口. 网页登录就能看见简单大气的选项页面,可以指定用户,服务器 ip,端口,以及使用密钥或者密码登录。输入点击连接就会登录到那台服务器,数据通过 websocket 实时显示到页面上

而 wssh 是一个命令行登录的带选项的命令,其实就是页面输入的参数通过命令行的方式输入然后直接登录服务器,比如我下面的用法:

wssh dongwm@dongwm.com -p XXX -s 58404

我觉得有空可以基于这个做点好玩的东西