我一直通过以下方式访问服务器的文件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