终端爱好者福音:安全加密的远程终端实时共享工具

作者小秋

来源公众号开源前哨

【导语】:通过端到端加密从浏览器查看和控制远程终端的工具。

简介

TermPair 是一个通过端到端加密从浏览器查看和控制远程终端的工具,浏览器远程 + 实时操作命令行。让开发者可以安全地实时共享和控制终端,特别适合服务器非桌面系统的环境。

功能:

项目地址:

https://github.com/cs01/termpair

可以在该地址试用:

https://chadsmith.dev/termpair

下载安装

只支持 Linux、macOS 系统,需要安装 Python 3.6+ 版本。

下载可执行文件

可以从项目 Github 地址上找到发布页面,直接下载可执行文件运行即可

https://github.com/cs01/termpair/releases

使用 pipx 或 pip 安装

官方推荐使用 pipx 进行安装,它会在隔离环境中进行安装:

> pipx install termpair

或者用 pip 安装:

> pip install termpair

需要注意的是,TermPair 服务器与终端需要使用相同的运行版本。

运行

使用 pipx 直接运行最新版本,无需安装:

> pipx run termpair serve

然后广播分享:

> pipx run termpair share

运行原理

TermPair 由三部分组成,分别是服务器、终端客户、在浏览器客户端中运行的 JavaScript Web 应用程序。

终端爱好者福音:安全加密的远程终端实时共享工具

服务器

首先, termpair 服务器启动(termpair serve)。服务器充当路由器,在 TermPair 终端客户端和连接的浏览器之间转发加密数据。服务器侦听来自 unix 终端客户端的 termpair websocket 连接,并维护到任何连接该客户端的浏览器的映射。

终端客户端

当用户想要共享他们的终端时,运行 termpair share 以启动客户端。TermPair 客户端向服务器注册此会话,然后 fork 并启动一个 pty 进程。TermPair 在数据可用时从 pty 的文件描述符中读取数据,然后将其写入真实终端的标准输出,并在此处正常打印。但是,它会加密此输出并通过 websocket 将其发送到服务器。

Web 应用程序

TermPair 客户端在共享会话期间为用户提供唯一的 URL。该 URL 指向 TermPair Web 应用程序(TypeScript/React),该应用程序设置 websocket 连接以接收和发送加密的终端数据。收到数据后,将其解密并写入基于浏览器的终端。

当用户在浏览器终端输入时,在浏览器中用密钥加密,发送到服务器,从服务器转发到终端,然后在终端通过TermPair 解密。最后,TermPair 客户端将其写入 pty 的文件描述符。

加密

TermPair 客户端在启动时会创建三个 128 位 AES 加密密钥:

展开阅读全文

页面更新:2024-05-03

标签:终端   实时   小秋   密钥   福音   算法   应用程序   客户端   爱好者   浏览器   版本   地址   环境   服务器   文件   工具   数据   用户   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top