Net::OpenSSH中master_opts指定不验证hostkey
use Net::OpenSSH;
our $PC2 = "testPC2";
our $pc2_ssh = Net::OpenSSH->new(
"$PC2",
user => "root",
password => "password",
master_opts => [-o => "StrictHostKeyChecking=no"]
)
or die "Error: $@";
$out = $pc2_ssh->capture2({ timeout => 10 },"ifconfig");
$pc2_ssh->error and
warn "operation didn't complete successfully: ". $pc2_ssh->error;
如果不加master_opts => [-o => "StrictHostKeyChecking=no"
在capture时会出错,error信息如下:
operation didn't complete successfully: unable to establish master SSH connection: the authenticity of the target host can't be established, the remote host public key is probably not present on the '~/.ssh/known_hosts' file at ssh.pl line。
master_opts中使用的是linux下ssh的命令参数,可在linux下通过man ssh查看
————————————————
版权声明:本文为CSDN博主「zy12805」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhangyuan12805/article/details/80047158
When connecting to a server for the first time, a fingerprint of the server's public key is presented to the user (unless the option StrictHostKeyChecking has been disabled). Fin‐
gerprints can be determined using ssh-keygen(1):
$ ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key