在Net::SCP中,我需要 DSC 或 RSA 密钥(即何时使用 get 或 put 函数)?我想知道无需传输文件即可使用 scp 服务。
问问题
928 次
4 回答
3
根据CPAN 中的文档,您甚至在导入该模块之前就需要它,我引用:
""" 问:如何使用 Net::SSH 模块在 perl 脚本中提供连接 ssh 的密码?
答:你没有。使用 RSA 或 DSA 密钥。请参阅 ssh-keygen(1) 联机帮助页。
"""
换句话说,NET::SCP
它旨在通过预生成和传播的私钥/公钥对与“无密码”SSH 身份验证一起使用。
于 2009-06-15T04:47:23.740 回答
1
由于Net::SCP是 scp 的包装器,因此您不需要(意味着您不能)提供脚本的密钥。您(或其他人)应在尝试使用之前通过配置 ssh 来进行设置。
NET::SCP 并不意味着“临时”使用。它需要 ssh 配置和密钥交换。
编辑合并了 ysth 的评论
于 2009-06-15T04:48:19.230 回答
1
如果您只想检查远程系统是否正在侦听 ssh/scp 端口,您可以尝试 ping:
use Net::Ping;
$p = Net::Ping->new("tcp", 2);
$p->port_number(scalar(getservbyname("ssh", "tcp")));
if ( $p->ping( $hostname ) ) {
print "ok!";
}
如果您有密钥或密码并且想要验证是否可以在不实际传输任何文件的情况下进行连接,则可以使用 Net::SSH 或 Net::SSH::Expect 或 Net::SSH2 或 Net::SSH::Perl。
于 2009-06-15T07:12:27.900 回答
1
如果您计划使用密码身份验证来使用 SSH,请考虑Net::SSH::Perl。
于 2009-06-28T04:16:15.060 回答