我已经成功导入了 sshPublicKey 架构,但该属性未显示在 PHPLDAPADMIN 中。
有人对这个问题有任何经验吗?
我逐字逐句地做了什么:
sudo nano openssh-lpk.ldif
dn: cn=openssh-lpk,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: openssh-lpk
olcAttributeTypes: ( 1.3.6.1.4.1.24552.500.1.1.1.13 NAME 'sshPublicKey'
DESC 'MANDATORY: OpenSSH Public key'
EQUALITY octetStringMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
olcObjectClasses: ( 1.3.6.1.4.1.24552.500.1.1.2.0 NAME 'ldapPublicKey' SUP top AUXILIARY
DESC 'MANDATORY: OpenSSH LPK objectclass'
MAY ( sshPublicKey $ uid )
)
导入架构,我应该更改 ldapi:// 吗?我尝试使用我的 IP/Loopback,但它不起作用,但它似乎可以正常工作。
ldapadd -Y EXTERNAL -H ldapi:/// -f openssh-lpk.ldif
从这里的指南中得到这个>> https://blog.shichao.io/2015/04/17/setup_openldap_server_with_openssh_lpk_on_ubuntu.html
通过 SF 上的这篇文章确认了我应该做的事情。
但他的指示有点模糊......
“更新 LDAP 以包含 OpenSSH-LPK 架构”
我们首先需要使用模式更新 LDAP,为用户添加 sshPublicKey 属性:
如何?我究竟做错了什么?
谢谢,
PS:这是我运行命令的输出,一切似乎都很好,它甚至说“重复”
root@ldap:~# ldapadd -Y EXTERNAL -H ldapi:/// -f openssh-lpk.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=openssh-lpk,cn=schema,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
additional info: olcAttributeTypes: Duplicate attributeType: "1.3.6.1.4.1.24552.500.1.1.1.13"
更新:我可以在 PHPLDAPADMIN 中看到架构,但它不在 PosiX 帐户下,有人可以从/etc/phpldapadmin/templates/creation/posixAccount.xml
由于这确实是一个 GUI 问题(另一个说明为什么最好在 CLI 上学习的例子),我的答案将是一张图片。但长话短说,我正在阅读快速的指示!
"在 phpLDAPadmin 中添加具有 SSH 公钥的用户
首先,使用“通用:用户帐户”模板创建一个用户。然后,进入“objectClass”属性部分,点击“add value”,选择“ldapPublicKey”属性。提交后,回到用户编辑页面,点击顶部的“添加新属性”,选择“sshPublicKey”,将公钥粘贴到文本区域,最后点击“更新对象”。