WebSSH

一个简单的Web应用程序,用作连接到ssh服务器的ssh客户端。它是用Python编写的,基于tornado,paramiko和xterm.js。

特征

  • 支持SSH密码验证,包括空密码。
  • 支持SSH公钥认证,包括DSA RSA ECDSA Ed25519密钥。
  • 支持加密密钥。
  • 支持双因素身份验证(基于时间的一次性密码)。
  • 支持全屏终端。
  • 终端窗口可调整大小。
  • 自动检测ssh服务器的默认编码。
  • 现代浏览器支持Chrome,Firefox,Safari,Edge,Opera。

运行原理图

要求

  • Python 2.7 / 3.4 +

快速开始

  1. 安装此应用程序,运行命令 pip install webssh
  2. 启动Web服务器,运行命令 wssh
  3. 打开浏览器,导航到 127.0.0.1:8888
  4. 输入您的数据,提交表格。

服务器选项

#启动具有指定侦听地址的http服务器并侦听端口 wssh --address = ' 2.2.2.2 '-- port = 8000#启动HTTPS服务器,certFile中和密钥文件必须通过 wssh --certfile = ' /path/to/cert.crt ' --keyfile = ' /path/to/cert.key '#遗失主机密钥策略wssh --policy =拒绝#日志记录级别wssh --logging = debug#日志记录文件wssh --log-file-prefix = main.log#更多选项 wssh --help

浏览器控制台

//连接到你的ssh服务器wssh。connect(主机名,端口,用户名,密码,私钥,密码,totp);//将对象传递给wssh.connect var opts = { 主机名: '主机名', 港口: '港口', 用户名: ' username ', 密码: '密码', privatekey : '私钥文本', 密码: '密码', totp : ' totp '};w。连接(opts);//没有参数,wssh将使用表单数据连接wssh。connect();//为客户端设置一个新的编码以使用wssh。set_encoding(encoding);//重置编码以使用默认的wssh。reset_encoding();//向服务器发送命令wssh。发送( ' ls -l ');

自定义字体

自定义字体系列用法示例:

< style > @ font-face { font-family:' font-name ' ; src:url(' static / css / fonts / your-favorite-font '); }   body { font-family:' font-name ' ; }  style >

部署

在Nginx服务器后面运行

wssh --address = ' 127.0.0.1 ' - port = 8888 --policy = reject#Nginx配置示例位置 / { proxy_pass http://127.0.0.1:8888; proxy_http_version 1.1 ; proxy_read_timeout 300 ; proxy_set_header升级$ http_upgrade ; proxy_set_header连接“升级” ; proxy_set_header主机$ http_host ; proxy_set_header X-Real-IP $ remote_addr ; proxy_set_header X-Real-PORT $ remote_port ;}

作为独立服务器运行

wssh --port = 8080 --sslport = 4433 --certfile = ' cert.crt' - keyfile = ' cert.key '-- xheaders = False --policy = reject

提示

  • 对于您选择的任何部署选择,请不要忘记启用SSL。
  • 默认情况下,来自公共网络的普通http请求将被重定向或阻止,并且被重定向优先于被阻止。
  • 尝试使用拒绝策略作为缺少的主机密钥策略以及经过验证的known_hosts,这将防止中间人攻击。想法是它按顺序检查系统主机密钥文件(“〜/ .ssh / known_hosts”)和应用程序主机密钥文件(“./ known_hosts”),如果找不到ssh服务器的主机名或密钥不是匹配,连接将被中止。

更多使用方法可以查看官方文档

开源地址:

https://github.com/huashengdun/webssh

更多更优质的资讯,请关注我,你的支持会鼓励我不断分享更多更好的优质文章。

hosts多个ip对应一个主机名_一个简单的Web应用程序,用作连接到ssh服务器的ssh客户端...相关推荐

  1. hosts多个ip对应一个主机名_Ubuntu16.04修改主机名和查看主机名的方法

    01. 查看主机名的方法 在Ubuntu系统中,快速查看主机名有多种方法: 其一,打开一个GNOME终端窗口,在命令提示符中可以看到主机名,主机名通常位于"@"符号后: 如下图所示 ...

  2. 关于IP地址与主机名映射的/etc/hosts文件配置

    为什么要这样做? 首先,在hadoop工作就像是一个社团帮派,master是老大,而slave1.slave2等就是master的小弟.但是,slave并没有像我们那么聪明一眼就能分辨出自己的老大,它 ...

  3. Linux实用操作:小技巧(快捷键)、软件安装、systemctl、软连接、日期时区、IP地址、主机名、网络传输、端口、进程管理、主机状态、环境变量、上传、下载、压缩和解压

    版本说明 当前版本号[20230415]. 版本 修改说明 20230415 初版 本课程的笔记已经更新完毕,各位可以通过点击黑马程序员2023年新版Linux零基础快速入门到精通>学习笔记总目 ...

  4. Sun Solaris 修改IP地址或者主机名

    solaris修改IP地址.刚装完solaris10的时候想到这个问题,还很郁闷不知道从哪开始.netconfig命令没有.看IP地址的配置文件不知道在哪,不像linux,连/etc/sysconfi ...

  5. java根据ip查计算机名_Java如何从IP地址查找主机名?

    在Java编程中,如何从IP地址查询出主机名? 以下示例显示了如何通过net.InetAddress类的InetAddress.getByName()方法将指定的IP地址查到主机名称. package ...

  6. android解析ip地址,android – 如何从IP地址解析网络主机名

    我正在研究基于wifi的聊天引擎,我能够通过跟随this链接检索连接到当前wifi网络的主机列表,现在获得了具有ip地址的设备列表但我需要来自ip地址的主机名并尝试以下 InetAddress ine ...

  7. Java 网络实例一(获取指定主机的IP地址、查看端口是否已使用、获取本机ip地址及主机名、获取远程文件大小)

    获取指定主机的IP地址 import java.net.InetAddress; import java.net.UnknownHostException;public class GetIP {pu ...

  8. 修改IP地址和主机名

    安装虚拟机(CentOS) 修改主机名(当前虚拟机的主机名) 查看当前的主机名 命令:hostname 修改主机名 命令:vi /etc/hostname (1)一定要在vi的命令模式下(在编辑模式下 ...

  9. Qt学习笔记——获取本机网络信息(IP, 子网掩码, 广播地址,主机名

    最重要的一步,先在工程pro文件添加 QT += network 用到头文件 QHostInfo QNetworkInterface 函数: (只写出返回类型,没有具体到是否const QHostIn ...

最新文章

  1. git 常用命令_git常用命令的使用
  2. 解剖SQLSERVER 第十篇 OrcaMDF Studio 发布+ 特性重温(译)
  3. 度量.net framework 迁移到.net core的工作量(转)
  4. 1.16 快速排序法(Quicksort)
  5. java制作安卓客户端_制作网页的Android客户端(一)
  6. java dog类型_java泛型中?和T有什么区别?
  7. java HashMap实现原理
  8. POJ2115 C Looooops(线性同余方程)
  9. MongoDB误删表恢复
  10. 【Foreign】采蘑菇 [点分治]
  11. 浅谈计算机程序设计语言,探讨计算机程序设计语言教学
  12. 《精通Android 5 多媒体开发》——第6章,第6.1节视频系统结构
  13. php git pull
  14. 【洛谷P1169】[ZJOI2007]棋盘制作
  15. Mac系统下安装Port
  16. activemq 下载以及安装、应用
  17. MATLAB与STK互联23:卫星对象操作(14)—仿真分析案例1,建立8个地面站,分析对卫星的可见性
  18. Ubuntu安装wine
  19. 一位百度AI工程师的求职经历(offer/面经/干货/感悟)
  20. 科学革命——承认自己无知的革命

热门文章

  1. [6]Windows内核情景分析 --APC
  2. yii多表查询--学习随笔
  3. Innodb存储引擎——非聚集索引
  4. 201421123042 《Java程序设计》第8周学习总结
  5. Spring 教程03
  6. kafka认知--(1)
  7. 期货黄金与现货黄金比较
  8. HDU 1757 A Simple Math Problem (矩阵快速幂)
  9. 再次献给那些心软的人!!!
  10. Sencha ID的注册