尝试从 Linux 终端进行 SSH 时,路由器输出“错误的 IP 地址或主机名”

尝试从 Linux 终端进行 SSH 时,路由器输出“错误的 IP 地址或主机名”

总体而言,我对网络知识完全是初学者。我曾尝试在 Network Engineering Stack Exchange 上发布此内容,但他们将我发到了这里。我的主要目标是能够模拟一个设备,以便我可以从 Python 应用程序通过 SSH 进入该设备并获取命令的输出。但首先,我尝试从终端手动通过 SSH 进入该设备。

我使用 GNS3 来模拟网络和 CISCO C7200 映像。我使用 Manjaro Linux。我的拓扑:

在此处输入图片描述

路由器配置:

conf t
hostname R1
ip domain-name local
crypto key generate rsa
ip ssh version 2
line vty 0 4
transport input ssh
login local
exit
username admin password 1234
exit

从终端,我可以通过 telnet 顺利进入它:

telnet 127.0.0.1 5001

但是当我跑步时:

ssh [email protected] -p 5001

终端挂起,R1 控制台输出以下内容:

在此处输入图片描述

我究竟做错了什么?

答案1

您无法使用 SSH 连接到,localhost:5001因为 上没有运行 SSH 服务器localhost:5001。正如 GNS3 所告诉您的,那里正在运行 Telnet 服务器,而不是 SSH。因此,您需要使用 Telnet 进行连接。

您似乎认为这localhost:5001是某种神奇的端口转发,并且 GNS3 足够聪明,能够发现您在交换机的端口 22 上配置了一个 SSH 服务器,它会神奇地将其 NAT 到主机上的端口 5001。但请考虑一下:GNS3 如何知道您在交换机上运行了一个 SSH 服务器,并且您想要连接到它,而不是 HTTP 服务器?

localhost:5001GNS3 可以让你访问终端交换机。如果您想在交换机上运行任何类型的服务并通过网络连接它们,您需要设置适当的网络,以便您可以连接到虚拟交换机的管理 IP。

相关内容