sshPublicKey 属性未显示-OpenLDAP PHPLDAP SSH 密钥验证

sshPublicKey 属性未显示-OpenLDAP PHPLDAP SSH 密钥验证

我已经成功导入了 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 进行 SSH 密钥验证

但他的指示有点模糊......

“更新 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

在此处输入图片描述

答案1

由于这实际上是一个 GUI 问题(另一个例子说明了为什么最好在 CLI 上学习),我的答案将是一张图片。但长话短说,我读说明太快了!

“在 phpLDAPadmin 中添加具有 SSH 公钥的用户

首先,使用“Generic: User Account”模板创建一个用户。然后,转到“objectClass”属性部分,单击“添加值”,并选择“ldapPublicKey”属性。提交后,返回用户编辑页面,单击顶部的“添加新属性”,并选择“sshPublicKey”,将公钥粘贴到文本区域中,最后单击“更新对象”。

在此处输入图片描述

相关内容