【发布时间】:2015-01-08 01:33:24
【问题描述】:
我正在使用 Net::OpenSSH 模块通过 ssh 密钥身份验证建立 ssh 连接。
my $ssh_handle = Net::OpenSSH->new(user_id@host_name)
我正在尝试捕获在 ssh 连接尝试期间可能发生的不同异常情况。我为此使用 Try::Tiny。
特别是,我试图捕捉在参数中传递了错误的主机名/IP 地址的情况。 在这种情况下,Net::OpenSSH 模块在控制台中抛出以下错误“ssh: Could not resolve hostname x.x.x.: Name or service not known”。
我知道 $ssh_handle->error 给出了错误信息(如果有任何错误) 连接尝试后。但在主机名/IP 错误的情况下,它会包含一条通用消息“无法建立主 SSH 连接:主进程意外退出”。 我相信这是许多错误场景的常见错误消息。所以我不能确定“错误的主机名”错误。
有什么方法可以捕获错误字符串“ssh: Could not resolve hostname x.x.x.: Name or service not known”?
【问题讨论】:
标签: perl exception ssh openssh