ssh如何允许没有家庭的非常有限的用户使用pubkey登录

Moj*_*ian 11 ssh shell public-key ssh-keys

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

小智 15

diya 已经解释过,您可以更改为AuthorizedKeysCommand来检索用户的公钥。

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

而且,如果您只想为该用户更改它(这样其他用户仍然有他们的authorized_keysat ~/.ssh/),您可以使用

Match User username
AuthorizedKeysFile /some/path/username_authorized_keys
Run Code Online (Sandbox Code Playgroud)


diy*_*iya 11

带有公钥的文件的替代方案是 openssh 服务器指令AuthorizedKeysCommand,它允许您配置 sshd 守护程序以运行特定的帮助程序来检索通常在用户\xcb\x9c/.ssh/authorized_keys文件中存储和部署的公钥。

\n

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

\n

参见示例:

\n\n