У меня есть скрипт, который подключается к SFTP-серверу со следующим кодом:
use Net::SFTP::Foreign;
my %cfg = (
user => "$user",
password => "$password",
port => 22,
more => [-o => 'StrictHostKeyChecking no']
);
my $sftp = Net::SFTP::Foreign->new("$host",%cfg);
Я использую StrictHostKeyChecking, чтобы убедиться, что скрипт автоматически принимает ключ ssh.Проблема начинается, когда сервер заменяет ключ хоста новым.Я получаю сообщение об ошибке: ПРЕДУПРЕЖДЕНИЕ: УДАЛЕННАЯ ИДЕНТИФИКАЦИЯ ХОСТА ИЗМЕНИЛАСЬ!
Поэтому мне нужно вручную удалить ключ, запустив ssh-keygen -R testserver.com После этого сценарий снова работает нормально,Я пытаюсь найти способ автоматически заменить ключ в случае его изменения.Технически я могу запускать ssh-keygen -R testserver.com каждый раз, когда запускается скрипт, но мне не нравится это решение.Пока что я не могу найти хороший автоматический способ замены ключа.