Ssh
通過 ssh 模擬 telnet
我有一個通過 telnet 連接工作的客戶端/伺服器應用程序,它不支持 SSH。基本上,客戶端打開與伺服器的 telnet 連接,伺服器啟動特定的 shell,客戶端通過 telnet 連接向該 shell 發送命令。問題是我需要通過 ssh 連接來完成這項工作,而遠端伺服器沒有 telnet 服務,所以我不能在 ssh 連接上使用隧道。我需要某種 telnet 模擬器,它可以為客戶端提供 telnet 端點,同時通過 ssh 連接到伺服器。有沒有辦法做到這一點?
謝謝
這是通過 ssh 進行埠轉發的正常情況。
一個伺服器
<ip>
打開了 ssh 端點,一個應用程序伺服器在 Telnet 埠 23 上監聽。客戶端有一個應用程序客戶端,它應該連接到
<ip>:23
. 客戶端也沒有監聽埠 23。讓我們建立從伺服器到客戶端的埠轉發:
ssh -N -L 23:127.0.0.1:23 user@<ip> >/dev/null 2>&1 &
在這裡,我們:
<ip>
以使用者身份連接到伺服器user
;- 將 ssh 會話置於後台;
- 將 ssh 會話的輸出重定向到 /dev/null 以避免控制台上出現任何消息;
- 將埠 23 從伺服器的 localhost 轉發到客戶端(您的應用程序伺服器應該偵聽所有 IP 介面,包括 127.0.0.1)
現在應用程序客戶端應該連接到該地址
127.0.0.1:23
以與應用程序伺服器一起工作。更新
根據解釋,我們有一個只支持 telnet 的客戶端軟體和一個只支持 ssh 的伺服器。並且客戶端應該能夠訪問伺服器。
碰巧,這樣的解決方案確實存在。從手冊:
SSH/Telnet 網關
在 Telnet-DeleGate(Telnet 客戶端的 DeleGate 伺服器)中,主機名以“-ssh”和“.”為前綴。(如“-ssh.host”)表示主機上的 SSH 伺服器。在訪問這樣的伺服器時,Telnet-DeleGate 充當 SSH 伺服器和 Telnet 客戶端之間的網關。例如,使用如下配置的 Telnet-DeleGate,Telnet 客戶端可以以如下使用者身份登錄到主機上的 SSH 伺服器:
% delegated -P8023 SERVER=telnet://-ssh % telnet -l user@host localhost 8023
認識**代表門**