LDAPで鍵認証させてSSHにログインする場合、CentOSなんかだと、AuthorizedKeysCommandにssh-ldap-wrapperを指定するのですが、Arch Linuxにこれが見当たらなかったので、下記のページを参考にして、独自のスクリプトを設定しました。
OpenSSH 6.2.x and LDAP authentication
my OpenSSH AuthorizedKeysCommand script
[bash]
#!/bin/bash
LDAP_SERVER=”ldap://localhost”
BASE_DN=”ou=People,dc=example,dc=com”
BIND_DN=”cn=Manager,dc=example,dc=com”
BIND_PW=”パスワード”
SSH_USER=$1
KEY=$(ldapsearch -LLL -x -w ${BIND_PW} -o ldif-wrap=no -D “${BIND_DN}” -b “${BASE_DN}” -H “${LDAP_SERVER}” -S sshPublicKey “uid=${SSH_USER}” sshPublicKey | grep -v ‘dn:’ | perl -pe ‘s/sshPublicKey: //;’)
echo “${KEY}”
[/bash]
後はこのスクリプトを保存して、
/etc/ssh/sshd_config
に
AuthorizedKeysCommand [スクリプトへのパス]
を指定してやればOKです。