需求说明

日前因为工作,需要在浏览器网页上访问服务器终端进行操作,这种情况在使用阿里云等平台时经常会使用到,最近项目需要实现这个功能,就做了一番调研。偶然间发现jupyterlab平台上就有这个功能

环境说明

操作系统:ubuntu18
python版本:3.6

详情

本次测试的软件是webssh
这个软件是一个简单的 Web 应用程序,用于ssh 客户端连接到 ssh 服务器的工具。它是用 Python 编写的,基于 tornado、paramiko 和 xterm.js。
其中的xterm.js是前端用于展示终端页面的项目,也是本项目的一个核心。

安装

pip install webssh

启动

wssh --address='hostip' --port=8000

实现原理

±--------+ http ±-------+ ssh ±----------+
| browser | <====> | webssh | <=> | ssh server|
±--------+ websocket ±-------+ ssh ±----------+

填入要连接的服务器对应信息后点击connect,在network中可以看到响应信息

其中的id用来创建websocket连接

此时就已经进入了终端页面如下所示:

这种模式的本质是ssh连接,要求服务端的sshd服务必须正常开启,且能访问,否则是无法通过该方式进入服务器的。

更多使用详见 https://github.com/huashengdun/webssh

需要提一下的是xterm.js是众多软件实现该功能的基础软件,如vscode、jupyterlab等,更多的可以看github上

使用浏览器通过ssh访问服务器

使用浏览器访问服务器shell(ssh方式)相关推荐

  1. ssh方式路由web_在路由器上设置SSH以从任何地方进行安全Web访问

    ssh方式路由web Connecting to the internet from Wi-Fi hotspots, at work, or anywhere else away from home, ...

  2. Mac 环境下连接多个git — ssh方式

    Mac 环境下连接多个git - ssh方式 1.查看当前是否存在ssh ls ~/.ssh/ 看到 id_rsa 与 id_rsa_pub 则说明已经有一对密钥. 2.生产新的公钥,并命名它不于之前 ...

  3. 使用Web浏览器访问远程ssh终端

    1.在ubuntu上安装 Shellinabox apt install openssl shellinabox 此图是已经安装完成的 2.在Linux系统中配置shellinabox sudo vi ...

  4. HTTP协议, 浏览器访问服务器, HTTP响应, HTTP请求, 访问百度

    浏览器访问服务器的过程 1/用户输入网址 2/浏览器请求DNS服务器,获取域名对应的IP地址(电脑连上网之后会被自动分配一个DNS服务器,域名跟ip是以键值对的形式存在DNS服务器,会按一定规则更新, ...

  5. vscode之ssh方式连接linux失败

    公众号:嵌入式不难 出现问题原因 windows上的vscode版本更新了,但是linux服务器上的~/.vscode-server没有更新,导致了linux自动下载最新文件,但是下载速度又很慢,所以 ...

  6. 克隆仓库时HTTPS和SSH方式的区别和使用

    在管理Git项目上,很多时候都是直接使用https url克隆到本地,当然也有有些人使用SSH url克隆到本地. 这两种方式的主要区别在于: 使用https url克隆对初学者来说会比较方便,复制h ...

  7. 使用TortoiseGit,设置ssh方式连接git仓库

    2.使用TortoiseGit,设置ssh方式连接git仓库 转自:https://www.cnblogs.com/zy20160429/p/7493693.html 开始设置之前的准备:建立项目文件 ...

  8. 【git】【eclipse】免密/SSH 方式连接免登录

    前言 https://gitee.com eclipse 4.9.0 eclipse 的 git 插件 : eclipse 自带的 git 插件 EGit ssh方式免登录 现在eclipse中生成s ...

  9. ssh端口转发(之kettle ssh方式连接数据库)

    ssh参数解释 格式 ssh  [user@]host [command] 选项: -1:强制使用ssh协议版本1: -2:强制使用ssh协议版本2: -4:强制使用IPv4地址: -6:强制使用IP ...

最新文章

  1. php 怎么获取meta标签,php – 通过jQuery获取META描述
  2. 没有到主机的路由_网络基础知识:UDP协议之路由跟踪
  3. 触发Full GC的原因
  4. Web开发中的矢量绘图(vml,svg)处理和应用
  5. 【USACO15DEC】最大流Max Flow
  6. Android官方开发文档Training系列课程中文版:通过NFC共享文件之发送文件到另一台设备
  7. 从xml中返回的对象,和new 返回的对象时不同的。
  8. JAVA基础之自定义容器实现
  9. 三星老手机com.android,你认识几个?细数三星最经典的手机
  10. 使用Lingo求解简单的线性规划问题
  11. win10本地策略组脚本
  12. 如何快速从入门到精通linux
  13. XML 转 JSON
  14. Discriminative deep metric learning for face verification in the wild 度量学习(CVPR2014)
  15. 服务器存档修改器,太吾绘卷存档修改器v2.6
  16. 机器学习笔记一. 特征工程
  17. openssl下载与安装
  18. 书评--把信送给加西亚
  19. Docker自动化部署安装(五)之安装portainer-docker容器管理工具
  20. Python实现企业微信发送图片

热门文章

  1. 2017暴雪php,动视暴雪2017Q4财报 开启全新里程碑
  2. 小程序高级电商前端第1周走进Web全栈工程师一----小程序注册、开发工具推荐、《风袖》首页布局详尽分析、Webstorm开发小程序必配配置、mock数据...
  3. 水晶高跟鞋(测试版)
  4. 关于echart 饼图显示不出来 挖坑总结
  5. 霹雳吧啦Wz语义分割学习笔记P8
  6. python web面试题部分汇总
  7. 菜鸟 Linux系统学习1简介 安装 云服务器 启动过程
  8. 柏诚股份冲刺上交所:年营收27.4亿 拟募资4.7亿
  9. android6支持内存卡,2020年拥有可扩展存储的最佳Android手机
  10. 树莓派 博通BCM2835芯片手册