Windows 上的 openSSH 错误
Posted
技术标签:
【中文标题】Windows 上的 openSSH 错误【英文标题】:error in openSSH on windows 【发布时间】:2014-05-30 20:09:44 【问题描述】:use strict;
use warnings;
use Net::OpenSSH;
$Net::OpenSSH::debug |= 16;
my $ssh = Net::OpenSSH->new(host=>'xx.xx.xx.xx',
user => 'xxxx',
password => 'xxxx'
);
$ssh->error and die "SSH connection failed: " . $ssh->error;
my $command = "ls";
my @out = $ssh->capture($command);
print @out;
上面的程序给出了以下错误
SSH connection failed: unable to determine home directory for uid 0 at ./ssh.pl
line 12.
我正在使用 avtivestate perl (v5.12.3)
虽然我给了另一个用户而不是 root,但它给出了同样的错误。 我在主机上有 centos 6.4。 谁能帮帮我?
【问题讨论】:
不清楚您在本地使用什么操作系统(您的 Perl 在哪里运行)。是 CentOS 还是 CentOS 在您尝试通过 ssh 访问的远程主机上运行? @Ouki 我有 Windows 作为我的客户端,我在远程主机上使用 Hv centos。我正在尝试通过 ssh 访问。 然后米勒得到了正确的答案。 Net::OpenSSH 在 Windows 上不起作用。您最好的选择可能是 Net::SSH2 和 Net::SSH::Any(在 Net::SSH2 之上)。 【参考方案1】:来自Net::OpenSSH
的文档:
另一方面,Net::OpenSSH 在 Windows 上不工作,甚至在 Cygwin 下也不工作。
对于替代解决方案:How do we configure SSH using Perl in Windows?
【讨论】:
以上是关于Windows 上的 openSSH 错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 Cygwin OpenSSH 在 Windows 上的 Paramiko 找不到 known_hosts 文件
sshd 的 Windows 10 OpenSSH 授权密钥错误