我尝试使用 FTP 进行 SSH 端口转发,但即使我使用 FTP 连接它也不起作用。
看起来 FTP 服务器为您提供了另一个端口号供使用,因此您必须能够连接到该端口才能从服务器接收数据。
所以这看起来相当复杂。有什么办法吗?
还必须注意的是,我没有权限配置 FTP 服务器,除了使用其 FTP 服务之外,我无法访问该服务器。
答案1
您需要使用动态转发,这样可以创建一个能够连接到任何主机:端口的 SOCKS 代理,而不是静态隧道。通常,这是通过ssh -D [...]
在 Putty 中添加 SSH 隧道时选择“动态”来完成的。
当然,需要支持通过 SOCKS 代理连接的 FTP 客户端。在 Windows 上,FileZilla 和 WinSCP 都支持此功能。如果您的客户端不支持,则有一些程序会通过此类代理重新路由所有连接 - tsocks
Linuxtorsocks
和torcap
Windowssockscap
上都支持。如果您的 FTP 客户端支持 SOCKS,则可以正常连接到 FTP 服务器(启用 SOCKS 后)。
FTP 服务器无需配置,只需支持“被动模式”(服务器选择临时端口)。实际上所有 FTP 服务器都支持此功能。所有现代 FTP 客户端都以“被动”作为默认模式。