2009-12-01 232 views
0

是否可以通過Telnet連接到SSH服務器?SSH通過Telnet連接

我試圖從Flash連接到SSH服務器,但在ActionScript中沒有可用的OpenSSH實現。我可以成功連接到Telnet服務器並執行命令。

我無法使用SSH服務器在機器上進行任何更改。我正在連接的計算機正在運行Windows XP SP3。我願意爲Windows機器提供所需的任何軟件。

回答

1

我想在有ssh服務器的機器上有http服務器。你可以使用php腳本來執行命令(使用ssl來保證連接)

如果你有控制客戶機的機器,你可以寫(例如在C)ssh代理到telnet代理。我認爲這將是更容易,然後編寫ssh客戶端在動作

+0

我最終使用PHP的ssh2擴展使用Mongoose Web服務器。 –

1

我想這在理論上是可能的。但是你必須要做SSL握手,當然還要在actionscript中手動解密和加密。準備發展路線圖。

+1

即。這基本上等同於你自己實現ssh。 –

+1

這就是我想說的。 – innaM

3

要連接SSH服務器,您需要SSH客戶端。就像連接到Telnet服務器一樣,需要一個Telnet客戶端。

也許你可以使用SSH服務器在機器和機器之間建立SSH隧道,並讓ActionScript通過SSH隧道使用遠程機器?

+0

+1:從安全和簡單的角度來看,我相信這是最好的解決方案。 – Dathan

2

實際上,沒有。可能的替代方案:

您可以telnet到您運行的代理服務器,然後建立SSH連接到您想要的位置。但是,這當然會首先破壞使用SSH的安全目的。

+0

如果telnet代理在客戶機上工作,這不會產生任何安全風險。 –

+0

我喜歡客戶機上代理的想法。是否有預先存在的軟件解決方案來做到這一點? –

+0

類別。如果你在代理主機上運行了一個telnet守護進程,那麼你可以telnet到它並要求它'ssh user @ host',並且你將通過telnet連接管理你的SSH連接。 –

-1

我認爲你混在一起,這個問題本身是誤導作爲telnet和ssh是兩個非常不同的東西從tcp/ip的觀點 - SSH使用定義的網絡標準端口號爲22(取決於安裝情況,這可能會被配置成另一個端口以防止黑客入侵,一般使用2222但不同)!另一方面Telnet使用端口23.請參閱here澄清使用的端口...總之,我不是100%確定,如果你可以做到這一點,但它是值得一試的,因爲我還沒有嘗試過......看here關於如何通過ssh隧道POP3協議的更多細節。

當您連接到本地主機上的端口9999時,即127.0.0.1,您就通過ssh隧穿了pop3服務器。正如在SecurityFocus的網站例如,您可以轉發telnet端口端口到一些其他的端口爲例,你的情況,我認爲:

 
ssh -L 9999:telnet:23 somehost 

,所以當你telnet到9999你有效地通過隧道SSH。

作爲一個感興趣的問題什麼系統運行SSH服務?它是Linux/Unix嗎?要使用的參數交換機是-L用於本地轉發,同樣用於遠程轉發的是-R,其餘命令參數保持不變。這裏的關鍵關鍵字是端口轉發。

+0

如果我在我的機器上運行ssh -L 9999:telnet:23 localhost,然後在同一臺機器上運行telnet localhost 9999,我不會進入命令行... –

+0

@Jeremy White:好的!至少你試過了,謝謝你閱讀我的答案。我對這個問題沒有意見......對於缺乏進一步的投入感到抱歉! – t0mm13b