通过 ssh 连接访问串行控制台

通过 ssh 连接访问串行控制台

我们有一个 debian buster 启动到 multi-user.target (通过 sudo systemctl set-default multi-user.target 启用)和一个 USB 串行适配器。通过以下方式登录并访问串行控制台

sudo screen /dev/ttyUSB0 9600

用于配置思科交换机工作正常。

但是,当我通过 ssh 连接到这台机器,然后在上面的 ssh 会话命令中执行时,它将无法工作。在 putty 作为 ssh 客户端时,我根本看不到任何输出。我必须拔出并重新连接串行 USB 适配器才能使其再次可用。与 MobaXterm 的连接只能部分起作用。一些输入被完全忽略,输出经常被破坏,比如位置错误,甚至丢失很多字符。我已经尝试过minicom了。同样的行为。当通过 ssh 连接时,你甚至无法退出它。在屏幕中 CTRL+A 和 CTRL+D 至少可以工作。

通过 ssh 访问 cisco 串行控制台时我缺少哪一部分?

编辑:做了更多测试:尝试从另一台 Linux 机器进行 ssh --> 使用 putty 执行 show run 来获取配置,然后按空格键查看下一行,它可以按空格键几次,但仍然有一些线路丢失或位置错误。然后就完全挂了。关闭并重新打开屏幕不起作用。

另一点:通过 MobaXTerm ssh 访问 Linux 机器,然后通过 ssh 从那里连接会产生相同的问题行为。输出残缺,看起来像

p
  power inline never
 speed 100
 duplex full                                                                                                                      arp  spanning-tge
 service-policy output Qos1234
!
interface GigabitEthernet1/10

答案1

最后我尝试了更多,即使使用原始的 Linux ssh 客户端连接它也被卡住了。比通过windows通过ssh访问花费的时间更长,但最终还是出现了同样的问题。似乎与某种缓冲区有关。当它确实卡住时,您必须拔出 USB 串行转换器并将其插回才能使其再次工作。

然而它与 tio 完美配合http://tio.github.io/ 请务必从那里下载发行版 tar.xz,因为它包含所需的 ./configure 文件,而使用 git clonehttps://github.com/tio/tio该文件丢失

连接配置 Cisco-Switch 是

tio -b 9600 /dev/ttyUSB0

要在没有 root 权限的情况下执行此操作:执行一次,然后注销并再次登录以应用更改

sudo usermod -a -G dialout <yourUsername>

相关内容