如何为另一个用户创建 ssh 密钥?

如何为另一个用户创建 ssh 密钥?

我正在尝试为另一个用户创建 ssh 密钥。我以 root 身份登录。我可以只编辑 ssh-keygen 生成的文件并将 root 更改为我想要的用户吗?

答案1

您可以使用 来实现这一点ssh-keygen,但请记住,私钥是用户私有的,因此您应该非常小心地保证其安全 - 与用户密码一样安全。甚至更安全,因为用户不太可能在首次登录时被要求更改它。

ssh-keygen -f anything在当前目录中创建两个文件。anything.pub是公钥,您可以将其附加到~/.ssh/authorized_keys任何目标服务器上的用户密钥。

另一个文件,刚才调用的anything是私钥,因此应该为用户安全地存储。默认位置是~username/.ssh/id_rsa(此处名为id_rsa,这是 rsa 密钥的默认位置)。请记住,.ssh除了用户之外,任何人都无法读取或写入该目录,并且除了用户之外,任何人都无法写入用户的主目录。同样,私钥的权限也必须严格:仅对用户具有读/写权限,并且 .ssh 目录和私钥文件必须由用户拥有。

从技术上讲,您可以将密钥存储在任何地方。ssh -i path/to/privatekey连接时,您可以指定该位置。同样,正确的所有权和权限至关重要,如果您没有正确设置它们,ssh 将无法工作。

答案2

SSH 密钥中没有用户信息

公钥中的最后一个字段是评论(可以通过运行以下命令进行更改ssh-keygen -C newcomment)。

无需做任何特殊的事情来为另一个用户制作密钥,只需将其放在正确的位置并设置权限即可。

答案3

通过使用并以该用户身份运行密钥:

[root@kvm0001 ~]# su - joeuser
[joeuser@kvm0001 ~]$ ssh-keygen -t dsa (or rsa1 or rsa, depending on your security requirements)
Generating public/private dsa key pair.
Enter file in which to save the key (/home/joeuser/.ssh/id_dsa):

答案4

正如所见这里,您可以使用 chmod 来更改您要添加 SSH 密钥的用户的文件夹的读取权限。

vim /home/username/.ssh/authorized_keys

然后,只需将密钥粘贴到该文件底部的新行即可

相关内容