我定期配置 Linux 服务器。然后用ssh-copy-id
我的公钥复制到root用户(/root/.ssh
)并编辑authorized-keys
。
如果我安装额外的服务,有时会创建私人用户,我喜欢直接通过 ssh 连接到他们。然后我要么必须重复ssh-copy-id
+ 编辑authorized-keys
过程(并且帐户必须有密码才能登录),要么是cp -R
我的 root.ssh
然后运行chown -R someuser
.
我可以告诉cp
保留文件的所有权,但是有没有办法告诉它(当以 root 身份运行时)以 someuser 身份创建?
答案1
您可以使用cpio
以下--owner
选项:
cd /root
find .ssh -print | cpio -pdmv --owner=someuser ~someuser/
如果帐户经常有/需要密码,您还可以将公钥文件复制到新文件并在本地编辑,然后使用:
ssh-copy-id -i edited_pub_file someuser@server
这样您就不必事后编辑公钥数据(无论如何您都可以ssh-copy-d
对 root 的首字母进行编辑)。