【问题标题】:How to handle Net::SFTP::Foreign invalid user or password errors?如何处理 Net::SFTP::Foreign 无效用户或密码错误?
【发布时间】:2016-07-19 22:10:21
【问题描述】:

我正在使用带有 IO::Pty 的 Net::SFTP::Foreign。

我的登录命令是:

Net::SFTP::Foreign->new(host=> $server_address,
                        user => $user_id,
                        password => $password)
    or die "Could not Connect To Server $server_address: $!"; 

当我传递服务器/用户/密码的无效条目时,它不会抛出错误消息。它只是挂在命令行上,30 多分钟后没有给出任何输出。

如果有任何无效的输入参数,请帮助如何处理错误。

如果我传递了所有有效值,它工作正常。

【问题讨论】:

  • 无效是指密码错误吗?或者当您使用既不是主机名也不是 IP 地址的$server_address 时也会发生这种情况?
  • 在模块和ssh 中启用调试并在此处发布输出:$Net::SFTP::Foreign::debug=-1; my $sftp = Net::SFTP::Foreign->new(more => '-vvv', ...);
  • 即使在上述更新之后也没有运气。我在下面试过。 Net::SFTP::Foreign::debug=-1; $sftp = Net::SFTP::Foreign->new(host=> $server_address, user => $user_id, password => $password, more=>'-vvv');但是如果我传递了错误的主机名,这项工作仍然会挂起并且不会给出任何输出。请帮忙! or die "Could not Connect To Server $server_address: $!";
  • 在问题中包含调试输出!!!
  • 我使用的命令:Net::SFTP::Foreign::debug=-1; $sftp = Net::SFTP::Foreign->new(more=>'-vvv', host=> $server_address, user => $user_id, password => $password); cmd 行输出 -> OpenSSH_5.3p1,OpenSSL 1.0.1e-fips 2013 年 2 月 11 日调试 1:读取配置数据 /etc/ssh/ssh_config 调试 1:应用 * 调试 2 的选项:ssh_connect:needpriv 0 ssh:无法解析主机名 ftp_address:名称或服务未知。使用此代码,作业正在移交并且不返回任何状态。在登录命令中添加 'timeout=>30' 后,当我传递不正确的主机名时,作业失败。

标签: perl sftp


【解决方案1】:

最后,使用以下选项,我能够处理这个问题。 Net::SFTP::Foreign::debug=-1; $sftp = Net::SFTP::Foreign->new(host=> $server_address, user => $user_id, password => $password, more=>'-vvv', timeout=>30);

此命令将处理错误的主机名、用户名或密码。如果无法建立连接,作业将在等待超时的秒数后失败。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    • 2020-03-19
    • 2012-06-08
    • 2012-07-29
    相关资源
    最近更新 更多