Ssh

cisco 設備如何知道我是通過 telnet 還是 ssh 連接?

  • October 21, 2014

我在使用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 連接。

Cisco 路由器預設打開 Telnet。您必須明確地為 SSH 進行配置(設置域、生成 RSA、啟用 SSH 2.0 等)。

閱讀有關如何配置 Cisco 和 SSH的Cisco 文件。

引用自:https://unix.stackexchange.com/questions/163291