A J*_*ton 5 ssh serial-port cisco telnet
我在我的 CCNA 上工作,有 4 个交换机和 4 个路由器组成了我的主要实验室。我买了两个四端口 USB 到串行(1 个 USB 到 4 个串行)适配器,我在它们的两端连接了 8 根串行翻转电缆。
这些 USB 插入 P4 Ubuntu 服务器,我可以成功地 ssh 进入该服务器并使用 minicom 管理任何设备,就像我在拨出组中一样。
我有一个 USB[0-7] 的 minicom 保存文件,并使用 ln 链接 SW1-4、R1-4,因此我可以“minicom R1”等。
使用我的双显示器,我可以打开所有 8 个终端会话 - 每个屏幕上 4 个。
不过,这是主要的事情:我必须在我的工作站上打开一个终端,通过 SSH 连接到访问服务器,然后运行 minicom。我必须为每个设备执行一次。虽然这不是破坏性的,但我确定必须有一种更简单的方法来做到这一点 - 我可以告诉我的服务器将每个串行连接公开为 telnet 或 ssh 端口吗?我真的希望能够运行某种脚本,一键启动所有八个会话。
不久前,我能够使用remserial进行这种串行到网络重定向:
允许通过网络访问 RS232 设备。
串口连接到设备(如数据采集设备)的计算机运行remserial程序:
Run Code Online (Sandbox Code Playgroud)remserial -d -p 23000 -s "9600 raw" /dev/ttyS0 &
这将以守护程序模式启动程序,以便它在后台运行,等待端口 23000 上的连接,并将串行端口 /dev/ttyS0 设置为 9600 波特。然后,从任何计算机到端口 23000 的网络连接都可以读取和写入连接到串行端口的设备。
这可以从 /etc/rc.local 启动,或者作为 /etc/inittab 中的条目启动,或者使用 /etc/rc.init/ 中的文件设置为系统服务。
这就是您所需要的:
服务器场控制台控制。
假设多个 Linux 服务器(例如 Web 服务器)设置为使用串行端口作为控制台而不是显示器/键盘,则可以使用多端口串行板将它们的串行端口连接到控制服务器。在控制服务器上,为每个服务器运行 remserial 的副本:
Run Code Online (Sandbox Code Playgroud)remserial -d -p 23000 -s "115200 raw" /dev/ttyS0 remserial -d -p 23001 -s "115200 raw" /dev/ttyS1 remserial -d -p 23002 -s "115200 raw" /dev/ttyS2 remserial -d -p 23003 -s "115200 raw" /dev/ttyS3
从本地网络上的任何计算机,使用 telnet 程序连接到相应端口上的控制服务器:
Run Code Online (Sandbox Code Playgroud)telnet control-server-name 23002
这将通过关联的串行端口连接到所需服务器的控制台。然后,此示例将授予用户控制台对第三台服务器的访问权限。
仔细的脚本编写(例如使用 Linux“expect”程序)可以允许在每台服务器上运行批量命令。
在页面末尾,您将找到下载 i386(32 位)预编译二进制文件和源代码的链接(如果您运行的是 64 位操作系统或者更喜欢自己编译)。
编辑:要添加一点自动化,您可以安装expect
并编写以下脚本:
#!/usr/bin/expect
spawn telnet 192.168.0.1
expect "Username:"
send "your-username\r"
expect "Password:"
send "your-password\r"
expect "#" <----- prompt character ($ or #)
interact
Run Code Online (Sandbox Code Playgroud)
这将自动远程登录到主机登录名并将您带到提示符处。