Arch LinuxでAuthorizedKeysCommandにLDAPに登録されている公開鍵を回答するスクリプトを設定する

LDAPで鍵認証させてSSHにログインする場合、CentOSなんかだと、AuthorizedKeysCommandにssh-ldap-wrapperを指定するのですが、Arch Linuxにこれが見当たらなかったので、下記のページを参考にして、独自のスクリプトを設定しました。

OpenSSH 6.2.x and LDAP authentication

my OpenSSH AuthorizedKeysCommand script

#!/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}"

後はこのスクリプトを保存して、
/etc/ssh/sshd_config

AuthorizedKeysCommand [スクリプトへのパス]
を指定してやればOKです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください