SSH 登录,如何为用户账户设置密钥

SSH 登录,如何为用户账户设置密钥

我有 3 个人,3 台 Windows 机器和 1 台 ubuntu 12.04 服务器。我创建了每个用户帐户并将其添加到 sudo 组。我已将公钥直接从 puttygen 复制到 authenticated_keys 文件中。

我想知道如何告诉每个密钥允许特定用户进入。所有密钥都以 rsa-ssh“date”结尾。当我想让一个密钥为一个帐户工作时,所有密钥都适用于我的帐户,但不适用于任何其他帐户。

我尝试在 authenticated_keys 文件中的密钥末尾添加 user@computername,但没有成功。我只是得到没有可用的支持的身份验证方法。

我在谷歌上搜索过,但找不到简单的解释。

感谢您的任何帮助。

答案1

您必须将 ssh 公钥复制到每个用户帐户。否则,密钥仅适用于您的帐户。

〜/.ssh /授权密钥

列出可用于以以下身份登录的公钥 (DSA/ECDSA/RSA)此用户

因此,每个使用密钥登录的用户都需要每个用户各自的密钥~/.ssh/authorized_keys

有关的

答案2

您希望 Linux 中的 SSH 服务器接受传入请求。因此,存在一个文件,其中包含该特定用户的所有可接受公钥(!):~/.ssh/authenticate_keys

另外:因为我们需要在连接接受系统上本地获取密钥。以某种方式(例如使用带密码验证的 SCP 连接)将公钥部分(末尾带有 -pub)复制到目录中~/.ssh

以下内容针对 Linux 系统中的每个用户进行。因此,对于初学者来说,最好是分别登录每个用户并执行这些步骤。更有经验的用户只需登录一次并更改用户 ID...

开始你的工作循环:

因此登录到用户1:

检查'.ssh'目录是否存在,如果不存在则自己创建'.ssh'目录:mkdir ~/.ssh

在 ~/.ssh/authenticate_keys 中,每行都有一个公钥(!)。因此,如果您使用“cat”进入其中,请使用“>>”不覆盖内容并在末尾添加(如果此文件之前不存在,则无关紧要,它将自动创建):例如

cat id_rsa.user1.pub >>~/.ssh/authenticate_keys

然后,拥有正确的用户权限非常重要(如果没有,SSL 将拒绝接受密钥,因此这很重要!):

==> 目录本身

chmod 700 ~/.ssh

==> 和公钥文件

chmod 600 ~/.ssh/authenticate_keys

您已完成“user1”的操作,注销并使用“user2”登录...重复并用“user2”键替换“user1”...

相关内容