bash + 如何避免 bash 中的authorized_keys (ssh) 中的重复条目

bash + 如何避免 bash 中的authorized_keys (ssh) 中的重复条目

将 ssh 公钥添加到远程主机authorized_keys文件的常用方法包括使用ssh-copy-id命令以及使用 bash 运算符(例如>>附加到文件)。

问题是ssh-copy-id此命令不会检查密钥是否已存在。这会给脚本和自动化带来麻烦,因为后续运行可能会添加重复的键条目。

所以我使用以下脚本(在 rhel 服务器版本 7.8 上)

more /tmp/test.sh

#!/bin/bash

PUB_KEY=` cat /root/.ssh/id_rsa.pub `
grep -q -F \"$PUB_KEY\" ~/.ssh/authorized_keys 2>/dev/null || echo \"$PUB_KEY\" >> ~/.ssh/authorized_keys

我不确定这是否是最好的方法,所以我很乐意获得其他开箱即用的想法*

相关内容