思科设备如何知道我是通过 telnet 还是 ssh 连接?

思科设备如何知道我是通过 telnet 还是 ssh 连接?

我在使用Cisco UC520路由器时遇到了奇怪的行为。

当我直接连接到路由器并使用以下命令远程登录到它时:

telnet 192.168.1.1 23

然后我得到登录成功的提示:

Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
Cisco Configuration Assistant. Version: 3.0. Fri Jan 14 11:35:39 EST 2011

User Access Verification

Username:

但是,当将端口远程转发到另一台机器时:

ssh root@another_machine -R 127.0.0.1:23:198.168.1.1:23

然后在另一台机器上尝试通过 telnet 连接到路由器:

telnet 127.0.0.1 23

我收到一条不同的消息,并立即断开连接:

Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SSH-1.99-Cisco-1.25
Connection closed by foreign host.

这看起来真的很奇怪,所以我仔细检查以确保我是端口转发端口 23 而不是端口 22。我还尝试将路由器的名称映射到/etc/hosts我将端口转发到的计算机的文件中,以便万一telnet RouterName 23它没有这样做。不喜欢主机名。我还尝试使用不同的转发端口 ( 10023),但不起作用。

man我在页面中没有看到任何内容telnet表明存在--verbose类似的选项ssh -v,这将是我调试的下一步。我在/var/log/端口转发到的计算机上的任何文件中都没有看到任何问题。

这看起来很奇怪,我认为正在发生的事情是路由器认为我正在尝试建立 SSH 连接而不是 telnet 连接。

答案1

Cisco 路由器默认打开 Telnet。您必须显式地进行 SSH 配置(设置域、生成 RSA、启用 SSH 2.0 等)。

阅读思科的文档关于如何配置 Cisco 和 SSH。

相关内容