使用浏览器访问服务器shell(ssh方式)
需求说明
日前因为工作,需要在浏览器网页上访问服务器终端进行操作,这种情况在使用阿里云等平台时经常会使用到,最近项目需要实现这个功能,就做了一番调研。偶然间发现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方式)相关推荐
- ssh方式路由web_在路由器上设置SSH以从任何地方进行安全Web访问
ssh方式路由web Connecting to the internet from Wi-Fi hotspots, at work, or anywhere else away from home, ...
- Mac 环境下连接多个git — ssh方式
Mac 环境下连接多个git - ssh方式 1.查看当前是否存在ssh ls ~/.ssh/ 看到 id_rsa 与 id_rsa_pub 则说明已经有一对密钥. 2.生产新的公钥,并命名它不于之前 ...
- 使用Web浏览器访问远程ssh终端
1.在ubuntu上安装 Shellinabox apt install openssl shellinabox 此图是已经安装完成的 2.在Linux系统中配置shellinabox sudo vi ...
- HTTP协议, 浏览器访问服务器, HTTP响应, HTTP请求, 访问百度
浏览器访问服务器的过程 1/用户输入网址 2/浏览器请求DNS服务器,获取域名对应的IP地址(电脑连上网之后会被自动分配一个DNS服务器,域名跟ip是以键值对的形式存在DNS服务器,会按一定规则更新, ...
- vscode之ssh方式连接linux失败
公众号:嵌入式不难 出现问题原因 windows上的vscode版本更新了,但是linux服务器上的~/.vscode-server没有更新,导致了linux自动下载最新文件,但是下载速度又很慢,所以 ...
- 克隆仓库时HTTPS和SSH方式的区别和使用
在管理Git项目上,很多时候都是直接使用https url克隆到本地,当然也有有些人使用SSH url克隆到本地. 这两种方式的主要区别在于: 使用https url克隆对初学者来说会比较方便,复制h ...
- 使用TortoiseGit,设置ssh方式连接git仓库
2.使用TortoiseGit,设置ssh方式连接git仓库 转自:https://www.cnblogs.com/zy20160429/p/7493693.html 开始设置之前的准备:建立项目文件 ...
- 【git】【eclipse】免密/SSH 方式连接免登录
前言 https://gitee.com eclipse 4.9.0 eclipse 的 git 插件 : eclipse 自带的 git 插件 EGit ssh方式免登录 现在eclipse中生成s ...
- ssh端口转发(之kettle ssh方式连接数据库)
ssh参数解释 格式 ssh [user@]host [command] 选项: -1:强制使用ssh协议版本1: -2:强制使用ssh协议版本2: -4:强制使用IPv4地址: -6:强制使用IP ...
最新文章
- php 怎么获取meta标签,php – 通过jQuery获取META描述
- 没有到主机的路由_网络基础知识:UDP协议之路由跟踪
- 触发Full GC的原因
- Web开发中的矢量绘图(vml,svg)处理和应用
- 【USACO15DEC】最大流Max Flow
- Android官方开发文档Training系列课程中文版:通过NFC共享文件之发送文件到另一台设备
- 从xml中返回的对象,和new 返回的对象时不同的。
- JAVA基础之自定义容器实现
- 三星老手机com.android,你认识几个?细数三星最经典的手机
- 使用Lingo求解简单的线性规划问题
- win10本地策略组脚本
- 如何快速从入门到精通linux
- XML 转 JSON
- Discriminative deep metric learning for face verification in the wild 度量学习(CVPR2014)
- 服务器存档修改器,太吾绘卷存档修改器v2.6
- 机器学习笔记一. 特征工程
- openssl下载与安装
- 书评--把信送给加西亚
- Docker自动化部署安装(五)之安装portainer-docker容器管理工具
- Python实现企业微信发送图片
热门文章
- 2017暴雪php,动视暴雪2017Q4财报 开启全新里程碑
- 小程序高级电商前端第1周走进Web全栈工程师一----小程序注册、开发工具推荐、《风袖》首页布局详尽分析、Webstorm开发小程序必配配置、mock数据...
- 水晶高跟鞋(测试版)
- 关于echart 饼图显示不出来 挖坑总结
- 霹雳吧啦Wz语义分割学习笔记P8
- python web面试题部分汇总
- 菜鸟 Linux系统学习1简介 安装 云服务器 启动过程
- 柏诚股份冲刺上交所:年营收27.4亿 拟募资4.7亿
- android6支持内存卡,2020年拥有可扩展存储的最佳Android手机
- 树莓派 博通BCM2835芯片手册