如何用Python和JS实现的Web SSH工具

这个工具是使用Python开发,可以从下面地址了解详情。

官网: https://pypi.org/project/webssh/

webssh这个工具可以干啥:

在linux机器上安装python环境,并且使用命令pip3 install webssh,装上这个模块

我们就可以在l浏览器web页面登录我们的linux机器,是不是很强大!

功能:

1、支持SSH密码验证,包括空密码。

2、支持SSH公钥认证,包括DSA RSA ECDSA Ed25519密钥。

3、支持加密密钥。

4、支持全屏终端。

5、终端窗口可调整大小。

6、自动检测ssh服务器的默认编码。

7、现代浏览器支持Chrome,Firefox,Safari,Edge,Opera。

安装:

pip3 install webssh 

运行服务:

# 直接运行wssh,使用默认8888端口
wssh
# 通过绑定IP地址和端口启动
wssh --address='192.168.83.129' --port=8888
wssh --address='0.0.0.0' --port=8888
# 通过绑定IP地址和端口启动,只允许本地地址访问
wssh --address='127.0.0.1' --port=8888 

启动服务效果:

打开浏览器:

点击Connect

注意:

服务启动后,可以通过 http://192.168.0.123:8888/ 或 http://localhost:8888 来访问。

页面会要求输入要登录的机器名,端口,用户和密码,然后就可以SSH到指定机器了。

若要使用root用户登录Webssh,必须修改vim /etc/ssh/sshd_config

注释掉 #PermitRootLogin without-password,添加 PermitRootLogin yes

# Authentication:
LoginGraceTime 120
#PermitRootLogin prohibit-password
PermitRootLogin yes
StrictModes yes 

然后重启Linux机器,reboot即可。

到此这篇关于如何用Python和JS实现的Web SSH工具的文章就介绍到这了,更多相关python和js实现web ssh工具内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2021-02-22

Django实现WebSSH操作物理机或虚拟机的方法

我想用它替换掉xshell.crt之类的工具 WebSSH操作物理机或虚拟机 上篇文章给大家介绍详解基于django实现的webssh简单例子,有小伙伴说咖啡哥,我们现在还没有用上Kubernetes,但我想通过浏览器连接我们的物理机和虚拟机该怎么办? 这就比较简单了,既然我们已经实现了浏览器操作Kubernetes的Pod,那么想想操作Pod和物理机虚拟机有什么区别呢? 整个数据流是一点没变:用户打开浏览器-->浏览器发送websocket请求给Django建立长连接-->Django与要操

ssh项目环境搭建步骤(web项目)

一.创建Web项目 二.加入Struts2支持(Struts-2.3.1.2版本)1.   拷贝相关jar包到lib目录下(1)      struts2-core-2.3.1.2.jar(2)      xwork-core-2.3.1.2.jar(3)      ognl-3.0.4.jar(4)      freemarker-2.3.18.jar(5)      commons-logging-1.1.1.jar(6)      commons-io-2.0.1.jar(7)     

详解基于django实现的webssh简单例子

本文介绍了详解基于django实现的webssh简单例子,分享给大家,具体如下: 说明 新建一个 django 程序,本文为 chain. 以下仅为简单例子,实际应用 可根据自己平台情况 进行修改. 打开首页后,需要输入1,后台去登录主机,然后返回登录结果. 正常项目 可以post 主机和登录账户,进行权限判断,然后去后台读取账户密码,进行登录. djang后台 需要安装以下模块 安装后会有一个版本号报错,不影响 channels==2.0.2 channels-redis==2.1.0 amq

详解python实现小波变换的一个简单例子

最近工作需要,看了一下小波变换方面的东西,用python实现了一个简单的小波变换类,将来可以用在工作中. 简单说几句原理,小波变换类似于傅里叶变换,都是把函数用一组正交基函数展开,选取不同的基函数给出不同的变换.例如傅里叶变换,选择的是sin和cos,或者exp(ikx)这种复指数函数:而小波变换,选取基函数的方式更加灵活,可以根据要处理的数据的特点(比如某一段上信息量比较多),在不同尺度上采用不同的频宽来对已知信号进行分解,从而尽可能保留多一点信息,同时又避免了原始傅里叶变换的大计算量.以下计

详解基于Mybatis-plus多租户实现方案

一.引言 小编先解释一下什么叫多租户,什么场景下使用多租户. 多租户是一种软件架构技术,在多用户的环境下,共有同一套系统,并且要注意数据之间的隔离性. 举个实际例子:小编曾经开发过一套支付宝程序,这套程序应用在不同的小程序上,当使用者访问不同,并且进入相对应的小程序页面,小程序则会把用户相关数据传输到小编这里.在传输的时候需要带上小程序标识(租户ID),以便小编将数据进行隔离. 当不同的租户使用同一套程序,这里就需要考虑一个数据隔离的情况. 数据隔离有三种方案: 1.独立数据库:简单来说就是一个

详解基于IDEA2020.1的JAVA代码提示插件开发例子

之前因为项目组有自己的代码规范,为了约束平时的开发规范,于是基于2019.1.3版本开发了一个代码提示的插件.但是在把IDEA切换到2020.1版本的时候,却发现疯狂报错,但是网上关于IDEA插件开发的相关文章还是不够多,只能自己解决.于是根据官方的SDK文档,使用Gradle重新构建了一下项目,把代码拉了过来.下文会根据2020.1版本简单开发一个代码异常的提示插件,把容易踩坑的地方提示一下. 1.首先先根据IDEA插件开发官方文档,用Gradle新建一个project 选中file -> n

详解基于Scrapy的IP代理池搭建

一.为什么要搭建爬虫代理池 在众多的网站防爬措施中,有一种是根据ip的访问频率进行限制,即在某一时间段内,当某个ip的访问次数达到一定的阀值时,该ip就会被拉黑.在一段时间内禁止访问. 应对的方法有两种: 1. 降低爬虫的爬取频率,避免IP被限制访问,缺点显而易见:会大大降低爬取的效率. 2. 搭建一个IP代理池,使用不同的IP轮流进行爬取. 二.搭建思路 1.从代理网站(如:西刺代理.快代理.云代理.无忧代理)爬取代理IP: 2.验证代理IP的可用性(使用代理IP去请求指定URL,根据响应验证

mysql数据库详解(基于ubuntu 14.0.4 LTS 64位)

1.mysql数据库的组成与相关概念 首先明白,mysql是关系型数据库,和非关系型数据库中最大的不同就是表的概念不一样. +整个mysql环境可以理解成一个最大的数据库:A +用mysql创建的数据库B是属于A的,是数据的仓库,相当于系统中的文件夹 +数据表C:是存放数据的具体场所,相当于系统中的文件,一个数据库B中包含若干个数据表C(注意此处的数据库B和A不一样) +记录D:数据表中的一行称为一个记录,因此,我们在创建数据表时,一定要创建一个id列,用于标识"这是第几条记录",id

zabbix 4.04 安装文档教程详解(基于CentOS 7.6)

1    安装前准备: 1.1   安装JDK 卸载openjdk # rpm -qa | grep java # yum remove java-1.8.0-openjdk # yum remove java-1.8.0-openjdk-headless 安装JDK包 # rpm -ivh jdk-8u191-linux-x64.rpm 1.2   安装依赖包 # yum install -y net-snmp net-snmp-devel OpenIPMI-devel libssh2-dev

详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程

一.导入excel文件和相关库 import pandas; import matplotlib; from pandas.tools.plotting import scatter_matrix; data = pandas.read_csv("D:\\面积距离车站.csv",engine='python',encoding='utf-8') 显示文件大小 data.shape data 二.绘制多个变量两两之间的散点图:scatter_matrix()方法 #绘制多个变量两两之间的

详解基于Spring Data的领域事件发布

领域事件发布是一个领域对象为了让其它对象知道自己已经处理完成某个操作时发出的一个通知,事件发布力求从代码层面让自身对象与外部对象解耦,并减少技术代码入侵. 一. 手动发布事件 // 实体定义 @Entity public class Department implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer departmentId; @Enumerate

Java 添加、删除、格式化Word中的图片步骤详解( 基于Spire.Cloud.SDK for Java )

本文介绍使用Spire.Cloud.SDK for Java提供的ImagesApi接口来操作Word中的图片.具体可通过addImage()方法添加图片.deleteImage()方法删除图片.updateImageFormat()格式化Word中的图片以及getImageFormat()获取Word中的图片格式等.操作方法和代码示例可参考下文中的步骤. 步骤1:导入jar文件 创建Maven项目程序,通过maven仓库下载导入.以IDEA为例,新建Maven项目,在pom.xml文件中配置m