X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;ds=sidebyside;f=src%2FPVE%2FSSHInfo.pm;fp=src%2FPVE%2FSSHInfo.pm;h=16ed85a6818f9c9262ea873759f61de067feccb9;hb=1f3febdbf48cea1bfb17c3b57fa4fa2cf49243b5;hp=c351148cbe43e1e4166647f9b579915a2e202832;hpb=a904dfe0d5acaeea540b3e2d7164564608b3fc33;p=pve-cluster.git diff --git a/src/PVE/SSHInfo.pm b/src/PVE/SSHInfo.pm index c351148..16ed85a 100644 --- a/src/PVE/SSHInfo.pm +++ b/src/PVE/SSHInfo.pm @@ -49,11 +49,24 @@ sub get_ssh_info { sub ssh_info_to_command_base { my ($info, @extra_options) = @_; + + my $nodename = $info->{name}; + + my $known_hosts_file = "/etc/pve/nodes/$nodename/ssh_known_hosts"; + my $known_hosts_options = undef; + if (-f $known_hosts_file) { + $known_hosts_options = [ + '-o', "UserKnownHostsFile=$known_hosts_file", + '-o', 'GlobalKnownHostsFile=none', + ]; + } + return [ '/usr/bin/ssh', '-e', 'none', '-o', 'BatchMode=yes', - '-o', 'HostKeyAlias='.$info->{name}, + '-o', 'HostKeyAlias='.$nodename, + defined($known_hosts_options) ? @$known_hosts_options : (), @extra_options ]; }