将 FTP/SFTP 连接转发到另一台服务器(而不是从客户端进行隧道传输)

将 FTP/SFTP 连接转发到另一台服务器(而不是从客户端进行隧道传输)

我一直通过以下方式访问服务器的文件Sublime SFTP

问题是我需要通过中间服务器(我有 root 访问权限)建立隧道进入我的目标服务器。

客户服务器 A(中间人节点)→服务器 B(目标节点)

通常我会在客户端软件中使用隧道选项,但在这种情况下,Sublime似乎没有这个功能

对于我来说,配置中间服务器(apache)以实现此目的的最佳方法是什么?(或类似的东西)

例如,当客户端成功连接到特定端口时,是否有一种方法可以自动让服务器 A 连接到服务器 B?

答案1

使用 HAProxy,您可以创建 TCP 代理来将连接代理回后端服务器。我经常这样做。

答案2

我建议您使用 SSH 隧道。

ssh -L 9999:server_b:22 username@server_a

当然,您还需要确认服务器 A 的防火墙接受您选择的端口上的入站 TCP 连接。

答案3

你可以使用rinetd完成你想要的:

apt install rinetd

然后你编辑/etc/rinetd.conf,并在最后添加您的配置:

SERVER_A_IP SERVER_A_PORT SERVER_B_IP SERVER_B_PORT

例子:

# Server A IP: 192.168.0.1
# Server B IP: 1.2.3.4
# Listen on port 8080 on local server and redirect to 22 on remote server
# Configuration
192.168.0.1 8080 1.2.3.4 22

最后重新启动服务:

systemctl restart rinetd

并通过SERVER A连接:

sftp -P 8080  user@SERVER_A_IP

相关内容