假设您有一对 UNIX/Linux 计算机。您想要检查两台计算机是否可以通过任意端口(例如 TCP 111)相互连接。
登录到机器 1 (10.0.0.1) 的 shell。如果安装了Telnet,可以使用命令检查与10.0.0.2的连通性
$ telnet 10.0.0.2 111
但有些UNIX/Linux系统默认没有Telnet。 SSH 更流行,因此可能是首选,特别是当您不想在计算机上安装额外的应用程序时。
问题。有没有办法通过使用 ssh 命令而不是 telnet 命令来轻松测试相同的内容?
(请回答问题。“您可以安装 Telnet 或使用 Microsoft Windows”没有帮助。 TCP 111 只是一个示例。)
答案1
我猜你可以确定安装了 ssh,但没有安装 nc。鉴于此,这个问题可能是有道理的。
使用 -p 选项。例如端口开放:
$ ssh -p 111 192.168.1.16
ssh_exchange_identification: read: Connection reset by peer
端口关闭:
$ ssh -p 112 192.168.1.16
ssh: connect to host 192.168.1.16 port 112: Connection refused