私の「メソッド」を共有したかったのですが、クライアント側はDebian / Ubuntu固有ですが、サーバー側は基本的に上記と同じですが、「HowTo:」が少し増えています
サーバー:
公開キー属性を有効にする:
クレジット:
https://blog.shichao.io/2015/04/17/setup_openldap_server_with_openssh_lpk_on_ubuntu.html
cat << EOL >~/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 )
)
EOL
次に、これを使用してldifを追加します。
ldapadd -Y EXTERNAL -H ldapi:/// -f ~/openssh-lpk.ldif
phpLDAPadminでSSH公開キーを持つユーザーを追加する
最初に、「Generic:User Account」テンプレートでユーザーを作成します。次に、「objectClass」属性セクションに移動し、「値を追加」をクリックして、「ldapPublicKey」属性を選択します。送信後、ユーザー編集ページに戻り、上部の[新しい属性を追加]をクリックし、[sshPublicKey]を選択して、パブリックキーをテキスト領域に貼り付け、最後に[オブジェクトの更新]をクリックします。
sshPublicKey属性が表示されない-OpenLDAP PHPLDAP SSHキー認証
Ubuntuクライアント:
apt-get -y install python-pip python-ldap
pip install ssh-ldap-pubkey
sh -c 'echo "AuthorizedKeysCommand /usr/local/bin/ssh-ldap-pubkey-wrapper\nAuthorizedKeysCommandUser nobody" >> /etc/ssh/sshd_config' && service ssh restart
テストキーを作成します。
ssh-keygen -t rsa
AuthorizedKeysCommandUser nobody
ルートの代わりに提案しますが、これは素晴らしいです。