在 ssh-copy-id 之前附加其他内容

在 ssh-copy-id 之前附加其他内容

我正在使用此ssh-copy-id命令,但在添加公钥之前,我想添加一些内容,例如新行和名称。例如:

new line    
#Name of the person
pub.key here ..asdadsdad

因为这是在许多服务器上通过 for 循环执行脚本,所以我怎样才能将其与之配合。现在我有这个:

for i in $( cat file_servers ) do 
ssh-copy-id -i keyfile root@$i 

但我不知道如何在最后一行附加密钥之前添加新行和“#name of the person”。

答案1

ssh-copy-id基本上将本地keyfileidentity或公钥)复制到远程服务器,因此您可以编辑keyfile并添加您想要的内容。

编辑keyfile并添加您想要的内容:

#
# 人名
ssh-rsa NF 用户名@主机

现在,当您这样做时ssh-copy-id -i keyfile <host>,这些行将被附加到远程服务器的.ssh/authorized_keys.

答案2

您可以使用 sed 添加内联替换,如下所示:

sed -i '1s/^/\nName of person\n/' $i

这会将文件开头的第一行替换为白行 (\n)、人员姓名和回车符 (\n)。

这位于脚本的两行之间。

相关内容