Ssh
cisco 設備如何知道我是通過 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 連接。
Cisco 路由器預設打開 Telnet。您必須明確地為 SSH 進行配置(設置域、生成 RSA、啟用 SSH 2.0 等)。
閱讀有關如何配置 Cisco 和 SSH的Cisco 文件。