基于django的webssh实现

  

所需技术:
? ?websocket目前市面上大多数的webssh都是基于websocket协议完成的
? ?django-channels django的第三方插件,为django提供websocket支持
? ? xterm。js前端模拟壳终端的一个库
? ?paramiko python下对ssh3封装的一个库

  

如何将所需技术整合起来?
? ? 1, xterm。js在浏览器端模拟壳终端,监听用户输入通过websocket将用户输入的内容上传到django
? ?2,django接受到用户上传的内容,将用户在前端页面输入的内容通过paramiko建立的ssh通道上传到远程服务器执行
? ?3,paramiko将远程服务器的处理结果返回给django
? ?4,django将paramiko返回的结果通过websocket返回给用户
? ? 5、xterm。js接收django返回的数据并将其写入前端页面

  

流程图:
基于django的webssh实现

  

具体实现:
? ? https://github.com/huyuan1999/django-webssh

基于django的webssh实现