将 SSH 密钥从 root 复制到同一台机器上的另一个用户

将 SSH 密钥从 root 复制到同一台机器上的另一个用户

我正在尝试创建一个服务器设置脚本。在服务器初始化时,我添加了 ssh 密钥,然后它允许我通过 ssh 访问 root 用户。现在我创建了另一个用户并授予他们 sudo 访问权限。现在我正在尝试弄清楚如何将我的 SSH 密钥从 root 用户复制到我刚创建的新用户。两个用户都在同一台机器上,一个是 root,另一个是 sudo 用户。

答案1

这只是实现此目的的几种不同方法之一。我假设您刚刚创建了您的用户并且该用户具有sudo访问权限。

  1. 如果文件夹不存在则创建该文件夹:

    mkdir /home/$USER/.ssh

  2. 使目录仅可由用户执行:

    chmod 700 /home/$USER/.ssh

  3. 复制authorized_keys包含你的公钥的文件:

    sudo cp /root/.ssh/authorized_keys /home/$USER/.ssh/authorized_keys

  4. 让一切归.ssh你的用户所有:

    sudo chown -R $USER:$USER /home/$USER/.ssh

  5. 使其仅对您的用户可读:

    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

相关内容