可通过电脑控制的 usb 键盘输入设备

2024-08-25 15:01:02 +08:00
 aru
背景: 有很多服务器,使用统一的无盘启动,登录的用户名密码是一样的,需要给他们给他们其名字。平时的做法是接键盘鼠标显示器后登录执行下 hostname 命令。 但是由于机器太多,接键盘鼠标显示器特别耗费时间。

想法: 希望有一个键盘输入设备,自动输入用户名密码登录并执行 hostname 命令。实际上,除了主机名,其他的输入是完全一致的:
输入 root\n ,等 1 秒
输入 密码\n ,等 1 秒
输入 hostname 主机名\n ,等 1 秒
输入 exit\n

希望有一个模拟键盘的 HID 设备,一头接笔记本,另外一头服务器的 usb 口
在笔记本快速执行上面的输入操作(只需要改下主机名)

不知道那位大佬有看过类似的设备呢?
2734 次点击
所在节点    硬件
29 条回复
lxxiil
2024-08-25 15:01:55 +08:00
dnf 同步器搬砖大佬就是用这个
aru
2024-08-25 15:03:03 +08:00
@lxxiil
不大一样,因为每台机器的主机名都是不一样的
restkhz
2024-08-25 15:28:47 +08:00
Badusb?
你可以淘宝上买一个人家用 Arduino 之类的做的。
笔记本的话可能硬件上需要支持 USB OTG 才行。
des
2024-08-25 15:39:07 +08:00
PhaSelEza
2024-08-25 15:56:16 +08:00
笔记本接“USB 转串口”,服务器接“串口转键盘”。

笔记本端再写个串口控制程序,基于 pyserial 的话 ChatGPT 就能写。
Hconk
2024-08-25 16:08:06 +08:00
淘宝搜 usb 串口转键盘鼠标线,自己用 python 或者什么发串口命令就行了
churchmice
2024-08-25 16:52:34 +08:00
你这是在干嘛
交互输入用 expect 脚本,了解一下,完全用不到 hack 键盘的程度
另外,你可以去看下这所谓的无盘启动是不是可以加 hook,直接启动的时候推送个脚本过来跑一跑,哪用得着那么麻烦
des
2024-08-25 16:56:01 +08:00
@churchmice 没看完就开始了,你打算脚本跑在哪里
ETiV
2024-08-25 16:57:53 +08:00
服务器,ansible 不行么…

badusb ,flipper zero 有这个功能
dhb233
2024-08-25 17:03:32 +08:00
虽然是无盘,为啥不在启动的时候,根据 mac 地址或者其他的硬件序列号,自动设置主机名?所有服务器可以共享一个配置脚本
ouqihang
2024-08-25 17:14:50 +08:00
esp32 带 HID 的型号。
churchmice
2024-08-25 17:44:45 +08:00
@des #8 既然是无盘启动,你肯定是有个系统的,你直接在你这个系统里面做文章就好了
弄个 init.d 脚本或者啥的,根据 mac 地址判断下要设成什么样的 hostname ,有啥问题吗
wangjiyang
2024-08-25 17:47:45 +08:00
正好需要一个这样的东西来唤醒家里的台式机,WOL 太不稳定了。
moefishtang
2024-08-25 18:11:58 +08:00
KVM?
aru
2024-08-25 18:29:38 +08:00
@dhb233
@churchmice
@ETiV
我在描述里面简化了,实际上我执行的命令是除了设定主机名外还额外建立一个 mac 主机名的映射放文件里。下次重启会自动根据 mac 来设定主机名。
用树莓派来做肯定是不行的,需要操作简单,设备也最好便宜操作方便。



@restkhz
@PhaSelEza
@Hconk

我研究下你们说的硬件和软件
wsly47
2024-08-25 18:47:02 +08:00
1 块钱一片的 ch552 应该可以满足要求,带 USB 支持 Arduino 有键盘相关的 Demo ,开发板也是个位数包邮。

https://github.com/DeqingSun/ch55xduino/blob/ch55xduino/ch55xduino/ch55x/libraries/Generic_Examples/examples/05.USB/HidKeyboard/HidKeyboard.ino
Earthman
2024-08-25 19:50:07 +08:00
总结一下需求:一个 USB Device 设备,应该有 2 个 USB 口,一个插服务器做 HID 设备,一个插笔记本,接口未知,hid 或者串口都可以吧。插笔记本这端接受上位机命令转发到服务器那边。
这东西应该没有现成的,涉及到 USB ,有一定开发难度。LZ 还是折腾 linux 系统做个映射程序做首次启动自行比较容易。
aru
2024-08-25 20:59:29 +08:00
@Earthman
显然我创建一个 mac 和主机名字的映射表文件
paopjian
2024-08-25 22:19:09 +08:00
LTT 做个一个黑客设备的介绍,你搜搜 usbrubberducky
Earthman
2024-08-25 23:26:06 +08:00
对这个感兴趣,思考一下,后来找到了现成的芯片 CH9329 ,可以通过串口接受命令然后发出去 HID 键盘包,这个应该满足你的需求了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1067623

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX