如果 Radius 服务器不可用,SSH 回退到本地帐户

Joh*_*ohn 5 linux freeradius

我已经编辑了我/etc/pam.d/sshd的 Radius 身份验证;我添加了这一行:

auth required pam_radius_auth.so
Run Code Online (Sandbox Code Playgroud)

另外,我已经注释掉了这一行:

@include common-auth
Run Code Online (Sandbox Code Playgroud)

现在,如果 Radius 服务器已启动,则使用 Radius 的 SSH 身份验证是可以的,但如果 R​​adius 服务器已关闭,则无法回退使用本地 linux 帐户。

关于在哪里编辑文件以允许我在 Radius 服务器出现故障时回退到本地 linux 帐户的任何建议?

Tai*_*iya 5

启用 common-auth (includes pam_unix.so),并将“必需”更改为“足够”。

auth    sufficient      pam_radius_auth.so
@include common-auth
Run Code Online (Sandbox Code Playgroud)

(2016/05/03 JST) “回退”的设置

auth    [success=done default=bad authinfo_unavail=bad ignore=ignore]  pam_radius_auth.so localifdown
@include common-auth
Run Code Online (Sandbox Code Playgroud)

pam_radius_auth 在以下各自情况下的结果:

                       | correct password (in Radius)         | wrong (or UNIX) password
-----------------------+--------------------------------------+-------------------------
Radius Server is alive | PAM_SUCCESS                          | PAM_AUTHINFO_UNAVAIL
-----------------------+--------------------------------------+-------------------------
Radius Server is dead  |             PAM_IGNORE (with localifdown option)
-----------------------+--------------------------------------+-------------------------
Run Code Online (Sandbox Code Playgroud)

其结果:

PAM_SUCCESS          => done (Login success)
PAM_AUTHINFO_UNAVAIL => bad (Login failure)
PAM_IGNORE           => ignore (continue to "common-auth")
Run Code Online (Sandbox Code Playgroud)

有一个注释。如果pam_radius_auth.conf 中的超时值太小,它会在收到来自Radius Server 的“拒绝访问”之前确定“Radius Server 已死”。