我正在尝试创建一个服务器设置脚本。在服务器初始化时,我添加了 ssh 密钥,然后它允许我通过 ssh 访问 root 用户。现在我创建了另一个用户并授予他们 sudo 访问权限。现在我正在尝试弄清楚如何将我的 SSH 密钥从 root 用户复制到我刚创建的新用户。两个用户都在同一台机器上,一个是 root,另一个是 sudo 用户。
答案1
这只是实现此目的的几种不同方法之一。我假设您刚刚创建了您的用户并且该用户具有sudo
访问权限。
如果文件夹不存在则创建该文件夹:
mkdir /home/$USER/.ssh
使目录仅可由用户执行:
chmod 700 /home/$USER/.ssh
复制
authorized_keys
包含你的公钥的文件:sudo cp /root/.ssh/authorized_keys /home/$USER/.ssh/authorized_keys
让一切归
.ssh
你的用户所有:sudo chown -R $USER:$USER /home/$USER/.ssh
使其仅对您的用户可读:
sudo chmod 600 /home/$USER/.ssh/authorized_keys
如果您的用户没有sudo
访问权限,您可以稍微修改一下此工作流程。使用您的用户名(而不是)<user>
以 root 身份运行这些:
mkdir /home/<user>/.ssh
chmod 700 /home/<user>/.ssh
cp /root/.ssh/authorized_keys /home/<user>/.ssh/authorized_keys
chmod 600 /home/<user>/.ssh/authorized_keys
chown -R <user>:<user> /home/<user>/.ssh