授权用户通过 SSH 进入机器-在哪里配置?

授权用户通过 SSH 进入机器-在哪里配置?

我使用的是 Ubuntu Trusty。我在决定在系统中的哪个位置配置哪些用户可以 ssh 进入机器以及他们可以使用哪些密钥时遇到了一些麻烦。

我传统上只是创建具有相应主文件夹的 Linux 用户,并将其放置authorized_keys在 ~/.ssh 文件夹下。

似乎另一个选择是使用 sshd 的配置。您可以AllowUsers在那里定义,甚至可以AuthorizedKeysFile使用所有支持的 ssh 密钥。我正在使用本文以供参考。

现在,这里的最佳做法是什么?我是否不应该指定 AllowUsers/AuthorizedKeysFile 并让 OS 用户的存在和 authorized_keys 文件决定用户是否应该能够登录?我是否不应该使用用户的 ~/.ssh/authorized_keys?我应该同时使用两者吗?

前者使配置管理(在我的情况下通过 Ansible)稍微简单一些,但如果需要的话,我可以在两个地方使用它。

答案1

最常见的方式是~/.ssh/authorized_keys,它允许用户管理自己的密钥。除非您计划将来迁移到不同的身份验证(例如 LDAP)系统,否则这应该是您的选择。

请记住,每个~/.ssh/文件夹都需要被 chmod 为 700,并且 chown 为相应的用户。

顺便说一句,如果你管理很多用户,请查看目录useradd上的文档/etc/skel。你可能想.ssh/authorized_keys在那里放一个默认值。

相关内容