我正在使用此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
基本上将本地keyfile
(identity
或公钥)复制到远程服务器,因此您可以编辑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)。
这位于脚本的两行之间。