Ldap

sshPublicKey 屬性未顯示 - OpenLDAP PHPLDAP SSH 密鑰驗證

  • September 18, 2016

我已經成功導入了 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

在此處輸入圖像描述

由於這確實是一個 GUI 問題(另一個說明為什麼最好在 CLI 上學習的例子),我的答案將是一張圖片。但長話短說,我正在閱讀快速的指示!

“在 phpLDAPadmin 中添加具有 SSH 公鑰的使用者

首先,使用“通用:使用者帳戶”模板創建一個使用者。然後,進入“objectClass”屬性部分,點擊“add value”,選擇“ldapPublicKey”屬性。送出後,回到使用者編輯頁面,點擊頂部的“添加新屬性”,選擇“sshPublicKey”,將公鑰粘貼到文本區域,最後點擊“更新對象”。

在此處輸入圖像描述

引用自:https://serverfault.com/questions/803784