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

Doo*_*bie 3 server ssh permissions

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

Kur*_*kat 8

这只是执行此操作的几种不同方法之一。我假设您刚刚创建了您的用户并且它具有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
Run Code Online (Sandbox Code Playgroud)

  • 感谢您关于如何为非 sudo 用户执行此操作的说明(:顺便说一句,chmod 600 = u+rw(或用户读/写)和 700 = u+rwx(读/写/执行)权限。较新的操作系统支持例如`chmod u+rw` 我发现它比计算 7xx 值更具可读性和更易于使用(: (2认同)