开源超级终端PuTTY改进之:增加点对点网络协议IocHub,实现跨网段远程登录自己的Linux主机

发布时间:2026/6/23 7:36:54
开源超级终端PuTTY改进之:增加点对点网络协议IocHub,实现跨网段远程登录自己的Linux主机 目录前言IocHub简介实现效果开源地址使用方式使用实际硬件设备推荐使用虚拟串口写在最后前言上一篇博客中实现CH343PT库对PuTTY增加串口自动枚举及友好名称功能。这次为了方便实现跨网段的网络通讯增加IoCHub协议。IocHub简介IocHub(Internet of Chip Hub)为开发者提供了多平台的MCU接口联网透传开发库该方案来自于南京沁恒微电子公司(WCH)开发库包含Windows、Linux、MCU等多平台的的接口实现了多平台跨网段的 透传。重点经向厂商咨询该方案不涉及中间服务器意味着透传数据安全得到保障官方介绍沁恒芯云—IoCHub互联方案IocHub库地址https://www.wch.cn/downloads/WCHIoCHubLib_MultiOS_ZIP.html实现效果此次改进将为原PuTTY增加IoCHub客户端使其能够作为IoCHUB节点使用。无需公网IP无需进行复杂内外网映射实现Windows电脑跨网段登陆远端Linux开源地址本项目的Linux源码以及Windows中使用的PuttyPlus已经开源至GitCode。IocHub_Server_LinuxPuttyPlus使用方式使用方式主要分为两种使用真实串口设备进行桥接、使用socat生成虚拟串口对。使用实际硬件设备推荐本次使用CH9114USB转4串四个串口均支持最高连续15M波特率。完全满足远程登陆需求。具体使用步骤:将CH9114前两组串口相互短接并安装驱动​​ttyCH343USB0 ttyCH343USB1 TX ──────────────────── RX RX ──────────────────── TXCH9114 Linux驱动https://github.com/WCHSoftGroup/ch343ser_linux插入设备后检查串口节点正常生成ls/dev/ttyCH343USB* /dev/ttyCH343USB0 /dev/ttyCH343USB1 /dev/ttyCH343USB2 /dev/ttyCH343USB3将/dev/ttyCH343USB0绑定Linux Bash并设置开机自启仅需设置一次即可3.1 安装getty服务sudo apt install getty3.2 创建systemd服务serial-ttyCH343USB0.service[Unit]DescriptionSerial Getty on ttyCH343USB0Documentationman:agetty(8)Documentationman:systemd-getty-generator(8)Aftersystemd-user-sessions.service plymouth-quit-wait.serviceAfterrc-local.service[Service]ExecStart-/sbin/agetty --keep-baud15000000,115200ttyCH343USB0 vt102TypeidleRestartalwaysUtmpIdentifierttyCH343USB0TTYPath/dev/ttyCH343USB0TTYResetyesTTYVHangupyesKillModeprocessIgnoreSIGPIPEnoSendSIGHUPyes[Install]WantedBygetty.target# 使能并启用sudosystemctlenableserial-ttyCH343USB0.servicesudosystemctl start serial-ttyCH343USB0.service# 查询systemd服务状态显示running则为正常sudonano/etc/systemd/system/serial-ttyCH343USB0.service开启SerialToIocHub程序# 将IoCHub服务绑定至/dev/ttyCH343USB1串口将显示IocHub local id./SerialToIocHub-c/dev/ttyCH343USB1-lp123456远端Windows打开PuttyPlus软件输入Linux中IocHub local id密码123456即可登录Linux。使用虚拟串口使用虚拟串口对的好点是配置简单方便缺点则是不够稳定。具体使用步骤:打开一个终端输入socat PTY,link/tmp/vserial0,raw,echo0 PTY,link/tmp/vserial1,raw,echo0创建一对虚拟串口在另一个终端中输入socat /tmp/vserial0 EXEC:script -q -c /bin/bash /dev/null,pty,echo0连接/tmp/vserial0与bash输出将IoCHub绑定至/tmp/vserial1./SerialToIocHub -c /tmp/vserial1 -lp 123456打开Windows PuttyPlus软件输入Linux中IocHub local id密码123456即可登录Linux。写在最后使用过程中请保持SerialToIocHub程序的后台运行。PuttyPlus支持保存连接设置无需每次重复输入id及密码。