
ローカルホストに RADIUS サーバーをインストールして構成しました。このサーバーは、認証をリモート LDAP サーバーに委任しています。
最初は問題なさそうです。コンソール経由でテストできます。
# export user=skemp
# export pass=xxx
# radtest $user $pass localhost 1812 $secret
Sending Access-Request of id 185 to 127.0.0.1 port 1812
User-Name = "skemp"
User-Password = "xxx"
NAS-IP-Address = 192.168.1.168
NAS-Port = 1812
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=185,
同様に、ログイン ツールを使用して同じことを実行できます。
bash-4.0# /usr/libexec/auth/login_radius -d -s login $user radius
Password: $pass
authorize
しかし、SSH 経由のリモート ログインは失敗し、root によって開始された「login」の呼び出しも失敗します。/var/log/radiusd.log を見ると、以前のいずれかのツールを使用したときに表示される成功/失敗の実際のログは表示されません。
代わりに、sshd はログに記録するだけです:
sshd[23938]: Failed publickey for skemp from 192.168.1.9
sshd[23938]: Failed keyboard-interactive for skemp from 192.168.1.9 port 36259 ssh2
sshd[23938]: Failed password for skemp from 192.168.1.9 port 36259 ssh2
/etc/login.conf には次の記述があります:
# Default allowed authentication styles
auth-defaults:auth=radius:
...
radius:\
:auth=radius:\
:radius-server=localhost:\
:radius-port=1812:\
:radius-timeout=1:\
:radius-retries=5:
答え1
OpenBSD を設定して認証を LDAP サーバーに委任する場合にも同様の問題が発生しました。これを動作させる唯一の方法は、ローカル DB にユーザーを追加することでした。例:
useradd -s /bin/ksh -L ldap 新しいユーザー
あなたの場合は、次のようになります
useradd -s /bin/ksh -L 半径 new_user2
ただし、認証に LDAP を使用している各マシンに対してユーザー エントリを手動で作成する必要があるため、集中型の LDAP 認証サーバーの必要性が損なわれます。私もアイデアがありません。