gpt4 book ai didi

perl - 在 Linux 上自动替换主机 key

转载 作者:行者123 更新时间:2023-12-04 01:56:05 25 4
gpt4 key购买 nike

我有一个连接到 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 key 。当服务器用新主机 key 替换主机 key 时,问题就开始了。我收到错误消息:警告:远程主机标识已更改!

所以我必须通过运行 ssh-keygen -R testserver.com 手动删除 key 之后脚本再次正常工作。我正在尝试找到一种方法来在 key 发生变化时自动替换它。从技术上讲,每次脚本运行时我都可以运行 ssh-keygen -R testserver.com,但我不喜欢这种解决方案。到目前为止,我还没有一个好的自动化方法来替换 key 。

最佳答案

添加另一个将 UserKnownHostsFile 指向/dev/null 的选项应该可以解决问题,而不是从安全角度推荐 ;-)

use Net::SFTP::Foreign;
my %cfg = (
user => "$user",
password => "$password",
port => 22,
more => [-o => 'StrictHostKeyChecking=no',
-o => 'UserKnownHostsFile=/dev/null']
);
my $sftp = Net::SFTP::Foreign->new("$host",%cfg);

关于perl - 在 Linux 上自动替换主机 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50626512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com