ssh 如何允许没有主目录的非常有限的用户使用公钥登录

ssh 如何允许没有主目录的非常有限的用户使用公钥登录

我的 ssh 服务器中有一个使用 和 创建的受严格限制的用户--no-create-home--shell /bin/false我知道我可以为用户的公钥定义authorized_keys文件sshd_configs。但是,如何允许此用户进行公钥身份验证,而无需访问操作系统上的任何文件?

答案1

diya 有已经解释过了您可以将其更改AuthorizedKeysCommand为检索用户的公钥。

但是,将 authorized_keys 文件放在其他位置可能更方便。例如,您可以将AuthorizedKeysFile /etc/ssh/authorizedkeys/%u原本位于的文件设置并放置在~username/.ssh/authorized_keysat/etc/ssh/authorizedkeys/username处。

而且,如果你只想为这个用户更改它(以便其他用户仍然拥有他们的authorized_keys~/.ssh/,你可以使用

Match User username
AuthorizedKeysFile /some/path/username_authorized_keys

答案2

包含公钥的文件的替代方案是 openssh 服务器指令AuthorizedKeysCommand它允许您配置您的 sshd 守护程序来运行特定的辅助程序来检索您通常存储和部署在用户文件中的公钥˜/.ssh/authorized_keys

使用 LDAP 目录是一种常见的解决方案,查询 API 或(MySQL)数据库是其他示例。

例如:

相关内容