【发布时间】:2014-06-11 22:41:27
【问题描述】:
我正在尝试通过 sftp 连接到客户端计算机并通过 Perl Net::SFTP::Foreign 将文件放在那里。我看过很多关于如何做到这一点的示例,但没有一个涉及使用 socks 代理。
背景: 对于标准的Net::FTP,我可以使用IO Socket Wrapper,一切都会被代理:
use IO::Socket::Socks::Wrapper({
ProxyAddr => 'my.proxy.address',
ProxyPort => 1080,
SocksDebug => 1 #enable for debugging
});
但是,这不适用于 Net::SFTP::Foreign。所以,我正在尝试想出一个解决方法。
if ($sftp = Net::SFTP::Foreign->new("ftp.myserver.com",
user => "ftpusername",
password => "ftpuserpwd",
more => [-o => 'ProxyCommand=ssh -D 1080 my.proxy.address'],
))
{
some code that runs when successful auth...
}
...我在 Perl Monks 上找到了上述内容,但似乎没有帮助。这是 Perl Monks 的 url 解释这一点:http://www.perlmonks.org/?node_id=938019
我认为关键是使用正确的 ProxyCommand,但我不确定这是否正确。
有人知道我如何通过 sftp 和代理发送文件吗?
【问题讨论】:
-
> 对于标准 Net::FTP,我可以使用 IO Socket Wrapper,并且一切都被代理:当代理还需要一些基本身份验证时,我如何使用
Net::FTP和IO Socket Wrapper?跨度>