出站 SFTP 正向代理

出站 SFTP 正向代理

我有两个 Web 服务器,每个服务器都有一个公共 IP,它们与各种 SFTP 服务器建立出站 SFTP 连接以更新内容。我想为 SFTP 出站连接设置一个正向代理。有这样的代理吗?

答案1

您可以使用通用 SOCKS 代理代理 SSH 连接(因此也可以代理封装在 SSH 连接中的 SFTP)。我不知道有任何针对 SSH/SFTP 协议的特定代理。

(如果能暗示一下你的最终目的,回答起来会容易一些。想要代理的目的是什么?)

更新

使用 SSH 通过代理建立 SSH 隧道:

  1. 安装袜子在启动 SFTP 连接的客户端上。

  2. 在你的/etc/tsocks.conf设置以下内容:

    server = 127.0.0.1
    server_type = 5
    server_port = 1080
    
  3. 打开到您的 SFTP 代理机器的后台 SSH 连接,如下所示:

    ssh -D 1080 -f -n -N ssh-proxy.example.com
    

    ...或者如果您希望它在 5 分钟后自动关闭:

    ssh -D 1080 -f -n ssh-proxy.example.com 'sleep 300'
    

    (如果您通过脚本执行此操作,则可能需要添加-i keyfile客户端并在 SFTP 代理服务器中放入相应的条目,~/.ssh/authorized_keys如果您想在无需用户注意的情况下通过脚本打开连接。)

  4. 使用代理运行 SFTP 操作袜子包装器:

    tsocks sftp destination-host.example.com
    

    (此 SFTP 连接将在 destination-host.example.com 中查找,就好像它是从 ssh-proxy.example.com 发起的一样。)

替代方法但丁

或者你可以安装但丁服务器(SOCKS代理服务器软件)在代理机器上并配置您的/etc/tsocks.conf连接到那里,而不是 127.0.0.1。然后只需使用袜子包装器,如上面的步骤 4 所示。如果这样做,您需要确保但丁服务器已配置,因此不允许未经授权的用户连接。

希望这可以帮助!

相关内容