gpt4 book ai didi

linux - 如何安全地将主机列表添加到 known_hosts 文件

转载 作者:太空宇宙 更新时间:2023-11-04 12:06:41 25 4
gpt4 key购买 nike

我有一个包含约 1000 个主机的文件,每行一个主机。对于每个主机,我想检查该主机的条目是否已存在于 known_hosts 文件中。如果没有,我想将主机添加到 known_hosts 文件中。否则,我想更新现有条目。我想使用 -H 选项对 known_hosts 中的所有条目进行哈希处理。我已经运行命令 ssh-keygen -H ~/.ssh/known_hosts 来散列现有条目。

这是我放在一起的一个简单循环:

while read LINE; do
# Remove entry if it exists
ssh-keygen -R $LINE
# Append new hashed key to file
ssh-keyscan -H $LINE >> ~/.ssh/known_hosts
done < $HOST_FILE

这种方法安全吗?如果没有,推荐的方法是什么?我这样做的原因是禁止键入“yes”1000 次,以允许将每个新主机添加到 known_hosts 以用于脚本目的。

最佳答案

这里有什么互动?您正在将数据传输到 while 循环中,循环中的两个命令都不涉及用户交互。我认为这是安全的。

注意:ssh-keyscan 将注释丢弃到标准错误,您可能希望将它们过滤掉。当请求的主机不存在时,您可能也不需要来自 ssh-keygen 的错误:

while read LINE; do
# Remove entry if it exists
ssh-keygen -R "$LINE" 2>/dev/null
# Append new hashed key to file
ssh-keyscan -H "$LINE" >> ~/.ssh/known_hosts 2>/dev/null
done < "$HOST_FILE"

您可能还对 ssh-hosthashes 感兴趣,我不久前写的一个脚本,用于查找 known_hosts 文件中的重复条目。这会根据公钥找到重复项,因此无论条目是按 IP、名称还是哈希列出,它都会对条目进行聚类。

关于linux - 如何安全地将主机列表添加到 known_hosts 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50473032/

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