ssh: “Acesso negado pela configuração da conta do PAM” para um usuário não raiz, mas não outro

21

Em uma VM que estou inicializando, consigo fazer login como um usuário não raiz ( admin ), mas não outro ( tbbscraper ) sobre SSH com autenticação de chave pública. A única mensagem de erro que posso encontrar em qualquer arquivo de log é

Sep 18 17:21:04 [REDACTED] sshd[18942]: fatal: Access denied for user tbbscraper by PAM account configuration [preauth]

Do lado do cliente, a síndrome é

$ ssh -v -i [REDACTED] tbbscraper@[REDACTED]
...
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: [REDACTED]
debug1: Authentications that can continue: publickey
debug1: Trying private key: [REDACTED]
debug1: read PEM private key done: type RSA
Connection closed by [REDACTED]

Alterar 'tbbscraper' para 'admin' permite um login bem-sucedido: debug1: Authentication succeeded (publickey). aparece em vez da mensagem "Connection closed".

Isso não parece ser um problema de permissão ...

# for x in admin tbbscraper
> do ls -adl /home/$x /home/$x/.ssh /home/$x/.ssh/authorized_keys
> done
drwxr-xr-x 3 admin admin 4096 Sep 18 17:19 /home/admin
drwx------ 2 admin admin 4096 Sep 18 16:53 /home/admin/.ssh
-rw------- 1 admin admin  398 Sep 18 17:19 /home/admin/.ssh/authorized_keys
drwxr-xr-x 3 tbbscraper tbbscraper 4096 Sep 18 17:18 /home/tbbscraper
drwx------ 2 tbbscraper tbbscraper 4096 Sep 18 17:18 /home/tbbscraper/.ssh
-rw------- 1 tbbscraper tbbscraper  398 Sep 18 17:18 /home/tbbscraper/.ssh/authorized_keys

# cmp /home/{admin,tbbscraper}/.ssh/authorized_keys ; echo $?
0

... nem um problema de controle de acesso no nível do PAM ...

# egrep -v '^(#|$)' /etc/security/*.conf
#

... então nenhuma das respostas existentes para perguntas semelhantes parece se aplicar. A única outra evidência que eu tenho é:

root@[REDACTED] # su - admin
admin@[REDACTED] $

mas

root@[REDACTED] # su - tbbscraper
su: Authentication failure
(Ignored)
tbbscraper@[REDACTED] $

que sugere algum problema de PAM em larga escala, mas não consigo encontrar nada obviamente errado com o material em /etc/pam.d . Alguma idéia?

A VM é uma instância do EC2, o SO é o Debian 7.1 (AMI da Amazon pronta para uso).

    
por zwol 18.09.2013 / 19:40

7 respostas

27

Depois de tudo isso, foi um erro de digitação de um caractere em /etc/shadow . Descubra a diferença:

admin:!:15891:0:99999:7:::
tbbscraper:!::15966:0:99999:7:::

É isso mesmo, existem dois dois pontos após o ponto de exclamação na linha tbbscraper . Isso empurra todos os campos em um e faz o PAM pensar que a conta expirou em 8 de janeiro de 1970.

    
por 18.09.2013 / 19:58
5

Obrigado por postar sua pergunta. Eu estava recebendo o mesmo erro, mas meu problema não estava relacionado ao arquivo de sombra. Eu encontrei minha correção e queria postar uma resposta também para qualquer outra pessoa pesquisando esse erro. Esta questão de falha de servidor aparece primeiro.

Tente verificar o /etc/security/access.conf !

Estamos usando o Active Directory para autenticação, mas eu precisava fazer o login como um usuário local não-AD (jenkins). Meu chefe originalmente configurou a caixa com essa linha no /etc/security/access.conf :

+:root:ALL
-:ALL:ALL

Eu mudei para o seguinte e os logins agora funcionam; Eu nem precisei reiniciar nenhum serviço.

+:jenkins:ALL
+:root:ALL
-:ALL:ALL
    
por 28.02.2017 / 18:11
2

Eu tenho o mesmo problema esta manhã, mas o servidor autentica usuários no Active Directory. Acontece que a senha do domínio do usuário expirou.

    
por 11.11.2015 / 17:28
2

Teve a mesma mensagem de erro. Desligou o sshd e reiniciou no modo de depuração

    /usr/sbin/sshd -ddd

isso indica o motivo:

    debug3: User autossh not allowed because account is locked
            ...
    input_userauth_request: invalid user <username> [preauth]

Conta marcada:

    passwd -S <username>

que mostrou que a conta estava bloqueada (sinalizador "L") Desbloqueou a conta definindo uma nova senha:

    passwd <username>

Feito.

    
por 11.08.2017 / 14:03
1

No meu caso eu estava renomeando usuários locais do CentOS 6, e esqueci de renomeá-los em / etc / shadow (que são autenticados por chave sem senha, não apareceram em minha mente), então os registros para o novo nomes de usuários estavam ausentes em / etc / shadow. Em / var / log / secure ele estava me dando o erro unix_chkpwd e o Access negado pelo PAM:

    unix_chkpwd[12345]: could not obtain user info (user2)
    sshd[12354]: fatal: Access denied for user user2 by PAM account configuration
    
por 26.10.2016 / 18:03
0

No meu caso, foi lixo eletrônico '' / etc / tcb / USER / shadow '' após a corrupção do root4 do ext4 em condições "interessantes"; parecia muito texty por isso não foi visto durante o exame inicial (não pode reinstalar o nó agora, mas terá que).

    
por 08.05.2018 / 08:55
0

Eu tive o mesmo problema e nenhuma das opções sugeridas funcionou. Mas eu encontrei em um dos fóruns ( link ) uma "solução" que funcionou perfeitamente.

Edite /etc/ssh/sshd_config e defina

UsePAM no

Embora provavelmente não seja a solução real, porque algo está definitivamente errado com a minha máquina (ontem estava funcionando bem!), esta pelo menos funciona.

    
por 25.05.2018 / 09:52