我是perl的初学者,正在尝试编写一个使用Net::OpenSSH在给定主机上运行命令的脚本。如何在Net::OpenSSH中执行交互模式身份验证,类似于Net:SSH::Perl中的方式。Net:SSH::Perl有一个交互标志,如果设置为true,则需要输入密码,否则使用公钥身份验证。以下是我在Net::SSH::Perl中拥有的ssh对象,我想在Net::OpenSSH中复制它:
$ssh = Net::SSH::Perl->new($host,
debug => $debug,
port => $port,
interactive => $imode,
identity_files => [ @keys ],
);
同时 Net::SSH::Perl 可以接收一个密钥数组,而 Net::OpenSSH 只能接收一个密钥。我该怎么处理?
, -o => "PreferredAuthentications=password"
, -o => "PubkeyAuthentication=no" ], );`
我想要作为从输入中获取的用户进行ssh连接。这是没有任何选项的调试输出: - vatsal