如何使用 OpenLDAP 配置 Centos 5.3 来存储和提供 SSH 公钥?

如何使用 OpenLDAP 配置 Centos 5.3 来存储和提供 SSH 公钥?

我希望能够通过 OpenLDAP 管理所有用户登录。我使用的是 Centos 5.3、OpenSSH 4.3p2-42 和 OpenLDAP 2.3.43。我已经安装了 GOsa2。

是否有 GOsa 插件可以管理 LDAP 中的 SSH 密钥?

我偶然发现了 openssh-lpk 补丁,但它适用于较新的 OpenSSH。我不想破坏我的服务器。是否有yum应用此补丁的可用存储库?我是否真的需要它?

如何让 OpenSSH 向 LDAP 服务器查询密钥?我可以配置 PAM 以某种方式执行此操作吗?

非常感谢您的建议。

谢谢

答案1

我也为这个问题苦苦挣扎了一段时间。首先检查 openssh 的版本是否 >6.2,然后检查 gosa 的 sshpublickey 的语法。

我将它安装在 Debian 7.7 上,然后将 dist 升级到 Debian 8 以获取最新的 openSSH 功能。

ldapsearch  -x '(&(objectClass=posixAccount)(uid='<Your user>'))' sshPublickey

如果你用 gosa 添加它,它可能会显示类似

sshPublicKey::c3NoLXJzYSBBQUFBQ........等等

这是因为它以某种我还没弄清楚的方式被散列了,但你可以手动创建一个名为 sshkey.ldif 的文件并添加以下内容

dn: cn=Jonas Pedersen,ou=people,dc=kirk,dc=local
changetype: modify
add: objectClass
objectClass: ldapPublicKey
-
add: sshPublicKey
sshPublicKey: ssh-rsa <your_key> "Comment" jkp@aptproxy

然后使用 ldapmodify 进行修改

ldapmodify -x -D cn=admin,dc=kirk,dc=local -W -f sshkey.ldif

我的条目与 Gosa 和 ldapmodify 类似 戈萨 在此处输入图片描述

那么请看这里ldap-ssh-密钥

相关内容