我想审核authorized_keys
多个服务器上的文件并将它们与已知的 AWS 密钥指纹进行匹配。
是否有一个单行代码包含ssh-keygen -lf
将文件中每个键的指纹输出到authorized_keys
一个带有换行符的漂亮列表中?
答案1
从服务器故障:
您可以轻松地将其设为 .bashrc 中的函数:
function fingerprints() {
local file="$1"
while read l; do
[[ -n $l && ${l###} = $l ]] && ssh-keygen -l -f /dev/stdin <<<$l
done < $file
}
然后执行以下操作:
$ fingerprints .ssh/authorized_keys
答案2
干得好:
find /path/to/keys/directory -type f -name "*.pub" -exec ssh-keygen -lf {} \; | awk '{print $2}'
编辑:哎呀,好吧。立即获取。
干得好:
while read line; do ssh-keygen -lf "$line"; done < <(cat authorised_keys_file)
(如果该文件每行有一个键)