SSH経由のOpenBSDログインは、設定したRADIUSサーバーを無視しているようです

SSH経由のOpenBSDログインは、設定したRADIUSサーバーを無視しているようです

ローカルホストに 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 認証サーバーの必要性が損なわれます。私もアイデアがありません。

関連情報