2017-03-14 87 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