小编the*_*ion的帖子

使用 UsePAM 进行基于密码和 SSH 密钥的过期登录 是

有一台 SLES 11 机器。用户通过 SSH 和 pubkey 登录(混合,一些用户使用密码,一些用户使用 ssh 密钥)

sshd_config 有:

UsePAM yes
PasswordAuthentication yes
PubkeyAuthentication yes
Run Code Online (Sandbox Code Playgroud)

问题:如果使用公钥登录的用户密码过期,则会提示用户更改密码。

问题:如果用户拥有有效的 SSH 密钥并且密码已过期,我们如何设置 PAM 或 sshd 配置以允许用户登录?-没有弹出“更改密码”。

更新#1:解决方案不能是:“UsePAM no”

SERVER:~ # cat /etc/pam.d/sshd 
#%PAM-1.0
auth        requisite   pam_nologin.so
auth        include     common-auth
account     requisite   pam_nologin.so
account     include     common-account
password    include     common-password
session     required    pam_loginuid.so
session     include     common-session
SERVER:~ # 
Run Code Online (Sandbox Code Playgroud)

更新#2:解决办法不能是:将用户密码设置为永不过期

更新#3:

SERVER:/etc/pam.d # cat common-account
#%PAM-1.0
...
account required    pam_unix2.so    
account required    pam_tally.so
SERVER:/etc/pam.d # 
Run Code Online (Sandbox Code Playgroud)

users password ssh pam

12
推荐指数
2
解决办法
3万
查看次数

使用 nginx 通过 LDAP 对用户进行身份验证

我知道如何在 apache2 中通过 LDAP 对用户进行身份验证:

# put the following in the VirtualHost

<VirtualHost *:443>
    ServerAdmin user1@bar.foo.com 
    DocumentRoot /var/www
    <Directory />
    AuthType Basic
    AuthName "Please provide USERNAME AND PASSWORD"
    AuthBasicProvider ldap
    Order allow,deny
    Allow from all
    AuthLDAPURL "ldaps://ehh.foo.com/ou=ehh,o=foo.com?mail"
    Require valid-user
    Require ldap-attribute emailAddress=someuser@bar.foo.com
Run Code Online (Sandbox Code Playgroud)

Q:但是我们需要使用nginx。我们如何配置 nginx 以通过 LDAP 进行身份验证?

使用 Ubuntu 12.04.5

ldap authentication ubuntu nginx htaccess

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

authentication ×1

htaccess ×1

ldap ×1

nginx ×1

pam ×1

password ×1

ssh ×1

ubuntu ×1

users ×1