LDAPユーザーの属性にSSH公開鍵を追加して、SSHするサーバーからLDAPサーバーを参照することにより、SSH公開鍵認証を実現したいです。
構築環境
CentOS7
OpenLDAP 2.4.44
以下サイトを参考にし、次の手順で設定してみました。
参考にした記事
1 公開鍵用スキーマ追加(LDAPサーバー)
vi /root/ldif/openssh-lpk-openldap.ldif --- dn: cn=openssh-lpk-openldap,cn=schema,cn=config objectClass: olcSchemaConfig cn: openssh-lpk-openldap 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' DESC 'MANDATORY: OpenSSH LPK objectclass' SUP top AUXILIARY MUST ( sshPublicKey $ uid ) ) --- ldapadd -x -W -D cn=admin,cn=config -f /root/ldif/openssh-lpk-openldap.ldif
2 ユーザー'tanaka'に公開鍵追加(LDAPサーバー)
ssh-keygen -t rsa vi /root/ldif/add_sshpubkey.ldif --- dn: cn=tanaka,ou=user,dc=***,dc=com changetype: modify add: objectClass objectClass: ldapPublicKey - add: sshPublicKey sshPublicKey: ssh-rsa AAAABx3cffdjjjjdnL........RGLddafsafo7aJl5Q== --- ldapmodify -x -W -D "cn=admin,dc=***,dc=com" -f /root/ldif/add_sshpubkey.ldif
3 nslcd.confを編集する(SSH認証したサーバー)
uri ldaps://{LDAPサーバーのIP} base ou=users,dc=***,dc=com
4 nslcdを再起動する(SSH認証したサーバー)
5 sshd_configを公開鍵認証できるよう設定する(SSH認証したサーバー)
PubkeyAuthentication yes AuthorizedKeysCommand /usr/libexec/openssh/ssh-ldap-wrapper AuthorizedKeysCommandUser root
6 以下コマンドを実行しても登録した公開鍵が帰ってこない(SSH認証したサーバー)
/usr/libexec/openssh/ssh-ldap-wrapper tanaka
正常に設定されてあると、手順6のコマンドで登録してある公開鍵が帰ってくるそうなのですが、コマンドがすぐに終了してしまいます(何も表示されません)。
どなたかご教授いただけますでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/07 04:21
2020/08/07 04:25
2020/08/07 05:31