Ubuntu Trusty在这里。 我在决定系统中哪些地方应该configuration哪些用户被允许进入机器以及哪些用户被允许使用的时候遇到一些麻烦。
我传统上只是用相应的home文件夹创buildLinux用户,并将authorized_keys放在〜/ .ssh文件夹下。
看来,另一种select是使用sshd的configuration。 您可以在其中定义AllowUsers ,甚至可以使用所有受支持的ssh密钥来定义AuthorizedKeysFile 。 我正在使用这篇文章作为参考。
那么现在最好的做法是什么? 我不应该指定AllowUsers / AuthorizedKeysFile,并让OS用户的存在和authorized_keys文件决定用户是否应该能够login? 我不应该使用用户的〜/ .ssh / authorized_keys吗? 我应该有两个到位?
前者使configurationpipe理(通过Ansible在我的情况下)更简单一些,但如果需要的话,我可以在两个地方都有。
最常见的方式是~/.ssh/authorized_keys ,它允许用户pipe理自己的密钥。 除非您打算有一天会迁移到不同的身份validation(例如LDAP)系统,否则这应该是您的select。
请记住,每个~/.ssh/文件夹需要chmod'd为700,并chown'd各自的用户。
顺便说一下,如果您pipe理大量用户,请查看/etc/skel目录中的useradd文档。 您可能需要在其中放置一个默认的.ssh/authorized_keys 。