我已经使用 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 命令,您可以运行getty
,agetty
甚至可以screen
在串行端口上运行。串口控制台使用方法指南已经过时,但是这个答案可能有帮助。
答案2
好的,当您在串行端口的 shell 上时,为什么需要 ssh?通常,您使用串行端口,因为您想要查看设备输出并访问其 shell,并且当机器在物理上离您很远时,您会使用 ssh。如果您仍然需要,请继续将 RJ45 电缆从设备连接到安装了 SSH 的计算机。我假设您已经设置了正确的 IP 网络并安装了 SSH 服务器。因为 SSH 在端口 22 上通过 TCP 工作。这样做,您将错过一些串行输出,因为 SSH(安全 Shell)只给您一个卖点。使用两者并了解区别。希望有所帮助!
答案3
- 从以下位置下载 putty.exe这里。
- 您应该知道 COM 端口的数量以及该端口的波特率。
- 如果您不知道这两者,请尝试将速度固定在 115200,然后尝试 COM1 到 COM8。
- 启动putty.exe
- 在“连接类型”中选择“串行”
- 在“速度”中设置波特率
- 在“串行线”中设置 COM 端口名称
- 按“打开”