在 AD 上创建的用户可以使用密码登录 Linux。我想用 ssh-key 替换此密码登录。到目前为止,我已经创建了一个自定义属性并将公钥放在其中,并且能够使用脚本在 Linux 上获取它。我想在创建新用户时将此密钥放在 /home/user/.ssh/authorised_key 中。
是否存在可以用来触发我的脚本的事件或配置文件?
注意:每当用户首次登录时,SSSD 都会创建用户和主目录。
答案1
~/.ssh/authorized_keys
您可以配置 openssh 以直接针对 AD 进行验证,而不是将公钥从 Active Directory 复制到文件。
OpenSSH 支持AuthorizedKeysCommand
为您提供的指令sshd_config
,允许您指定用于查找用户公钥的程序而不是在尝试从(本地)文件读取它之前。例如:
AuthorizedKeysCommand /path/to/script %u
其中,/path/to/script
以例如用户名作为命令行参数,然后在标准输出上必须返回零行或多行 authorized_keys 输出。