Ubuntu 20.04でLDAP認証を設定するのに少し苦労しました。このガイドつまり、パッケージをインストールしましたlibnss-ldap libpam-ldap ldap-utils nscd
。
nsswitch.conf
見た目
passwd: files systemd ldap
group: files systemd ldap
shadow: files ldap
gshadow: files
の行を/etc/pam.d/common-password
次のように変更しました
password [success=1 user_unknown=ignore default=die] pam_ldap.so try_first_pass
そして、次の行を追加しました/etc/pam.d/common-session
:
session optional pam_mkhomedir.so skel=/etc/skel umask=022
現時点では、ユーザーがローカルに存在する必要があるかどうかはわかりません。ユーザーが存在する場合、すべて正常に動作します。存在しない場合は、auth.log に次のメッセージが表示されます。
Jan 27 07:06:55 myserver sshd[4479]: Invalid user myuser from xxxx:xxx:xxxx:xxx::xx port 50556
Jan 27 07:07:03 myserver sshd[4479]: pam_unix(sshd:auth): check pass; user unknown
Jan 27 07:07:03 myserver sshd[4479]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=xxxx:xxx:xxxx:xxx::xx
Jan 27 07:07:03 myserver sshd[4479]: pam_ldap: error trying to bind as user "CN=myuser,OU=Users,OU=TEST,DC=ad,DC=test,DC=example,DC=de" (Invalid credentials)
Jan 27 07:07:05 myserver sshd[4479]: Failed password for invalid user myuser from xxxx:xxx:xxxx:xxx::xx port 50556 ssh2
何か間違ったことをしているのでしょうか。ユーザーは自動的に作成されるのでしょうか (ローカルに存在しない場合)。それとも期待どおりに動作していて、事前にユーザーを作成する必要がありますか?
答え1
ログイン時に完全修飾ドメイン名を追加していますか?ADユーザー(LDAP)を使用してログインする場合は、完全な名前を使用する必要があります。
ssh[メールアドレス]@サーバホスト名