通过串行端口通过 SSH 进入 Ubuntu

通过串行端口通过 SSH 进入 Ubuntu

我已经使用 Windows 上的串行端口连接到我的 Ubuntu 盒子(使用 putty 连接工作正常。)

根据问题https://serverfault.com/questions/892892/how-to-use-ssh-over-serial-without-using-pppd-or-how-to-transfer-tcp-over-ser,看来我应该能够通过串行端口 SSH 进入机器。

需要什么包或者我该如何设置?

http://patrickst.blogspot.com/2011/11/tcpip-over-slip-on-gnulinux-ubuntu.html

https://learn.adafruit.com/welcome-to-circuitpython/advanced-serial-console-on-mac-and-linux

答案1

SSH 旨在通过 TCP/IP 接受(安全)连接。要通过串行端口使用 SSH,您需要一个充当 TCP 客户端并“转发”来自/到串行端口的数据的东西,例如socat

这 (来源)应该足够了,假设/dev/ttyS1是您的串行端口,115200是所需的波特率(使用PuTTY进行串行连接时的“速度”)并且您已经sshd监听端口22(这是默认值):

socat -d -d tcp:127.0.0.1:22 file:/dev/ttyS1,b115200

-d -d, 根据手册

打印致命、错误、警告和通知消息。

我还没有测试过这个,因为我目前没有串行端口。

如果你只需要登录并通过串行端口运行 shell 命令,您可以运行gettyagetty甚至可以screen在串行端口上运行。串口控制台使用方法指南已经过时,但是这个答案可能有帮助。

答案2

好的,当您在串行端口的 shell 上时,为什么需要 ssh?通常,您使用串行端口,因为您想要查看设备输出并访问其 shell,并且当机器在物理上离您很远时,您会使用 ssh。如果您仍然需要,请继续将 RJ45 电缆从设备连接到安装了 SSH 的计算机。我假设您已经设置了正确的 IP 网络并安装了 SSH 服务器。因为 SSH 在端口 22 上通过 TCP 工作。这样做,您将错过一些串行输出,因为 SSH(安全 Shell)只给您一个卖点。使用两者并了解区别。希望有所帮助!

答案3

  1. 从以下位置下载 putty.exe这里
  2. 您应该知道 COM 端口的数量以及该端口的波特率。
    • 如果您不知道这两者,请尝试将速度固定在 115200,然后尝试 COM1 到 COM8。
  3. 启动putty.exe
    • 在“连接类型”中选择“串行”
    • 在“速度”中设置波特率
    • 在“串行线”中设置 COM 端口名称
    • 按“打开”

油灰

相关内容