我需要一种将SSH连接到串口的方法。有一个设备连接在串行口与外壳。基本上,我想直接将SSH客户端输送到串口。基本上,您是通过SSH连接到串行控制台。
SSH客户端->服务器->串行连接设备。
我该怎么做?将SSH桥接到串口。客户端不应该执行任何命令。它应该直接在串行控制台中。
发布于 2019-10-31 11:18:02
编写一个小脚本,将SSH服务器上的终端会话连接到串行端口,而不需要任何命令行参数。例如,您可以使用如下的cu命令:
#!/bin/sh
exec cu -l /dev/ttyS0 -s 115200 # add/modify options if needed保存到例如/usr/local/bin/serial-connection并用chmod a+x /usr/local/bin/serial-connection标记它的可执行文件。
将路径名/usr/local/bin/serial-connection添加到/etc/shells文件中。
为串行连接创建一个Linux用户。您可以任意命名它-例如,serial。为其设置密码,并验证用户是否可以正常登录。
最后,将serial用户的shell更改为/usr/local/bin/serial-connection:
chsh -s /usr/local/bin/serial-connection serial现在,当serial用户登录时,用户的shell将自动启动--但现在它实际上将是将SSH会话连接到串口的命令。如果该命令因任何原因而终止,SSH会话将自动结束。
要终止连接,serial用户需要键入~. (倾斜点)(如果使用PuTTY或类似的),或者如果使用OpenSSH客户端,则键入~~. (倾斜点)。偶然的是,cu和OpenSSH客户端都将使用~作为转义字符:在行开头输入D15两次将为cu发出单个倾斜字符。
https://unix.stackexchange.com/questions/549665
复制相似问题