2017-03-14 104 views
0

對於我安裝第三方應用程序,我需要建立一個SFTP連接:SSH隧道:第一跳的用戶名/密碼,第二跳使用SSH密鑰

基礎的應用程序是運行在一個Java應用程序linux/JBOSS機器(機器A)。這個應用程序使用(s)ftp連接到第二個centOS linux機器(機器B)

我面對的問題如下:第三方應用程序只支持帶有用戶名和密碼的ftp授權,而目標機器(B)只允許使用提供的SSH密鑰進行訪問。

我能想到的唯一解決方案涉及通過機器A上的SFTP服務器隧道傳輸SFTP連接,該服務器允許用戶名+密碼SSH。我不知道這是否可能,但不知道使用哪種工具來設置它。請注意,這必須是永久連接,因此應該設置爲在啓動服務器時運行。

在使用SSH密鑰和mobaXterm之前,我已經建立了隧道連接,但內部工作仍然不完全清楚。

在這種情況下另一個挑戰可能是我沒有爲在計算機B的root訪問權限的可能性

所以我的問題:是否有可能建立在這樣一種方式,應用隧道連接在機器A上可以使用用戶名+密碼連接到機器B,並且我需要什麼才能使其工作?

回答

0

是的,這是可能的。通常我使用以下構造:
ssh -N -L 21:127.0.0.1:21 ip_address_machine_B在此命令中,您可以使用任何其他端口。
然後在machine_A上,你需要連接到本地主機端口21

+0

啊我希望有這樣的事情!連接到localhost:21是使用運行ssh命令的用戶的憑據完成的? – mrMario

+0

我認爲你應該使用對ftp服務有效的憑證。 –

+0

好的,謝謝,在機器上每個用戶都可以連接到ftp。只要我有機會訪問B – mrMario