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

24

Em uma VM que estou inicializando, consigo efetuar login como um usuário não raiz ( admin), mas não como outro ( tbbscraper) pelo 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]

No 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 "Conexão fechada".

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

# 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
#

... portanto, nenhuma das respostas existentes para perguntas semelhantes parece se aplicar. A única outra evidência que tenho é:

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

mas

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

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

A VM é uma instância do EC2, o SO é o Debian 7.1 (AMI disponível na Amazon).

zwol
fonte
/etc/pam.d/sshdpor favor
GioMac
@GioMac Não importa, eu encontrei o problema.
Zwol 18/09/2013

Respostas:

29

Depois de tudo isso, ocorreu um erro de digitação de um caractere /etc/shadow. Localize a diferença:

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

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

zwol
fonte
9
Obrigado por publicar. Isso foi útil para mim: eu criei manualmente uma entrada de usuário em / etc / passwd e esqueci-me de adicionar uma entrada / etc / shadow correspondente.
Spazm 07/07
6
Obrigado por comentar. Isso foi útil para mim: eu copiei manualmente os usuários de outra máquina e esqueci de copiar a entrada / etc / shadow de um usuário sem senha.
Jayen 01/01
8

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

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

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

+:root:ALL
-:ALL:ALL

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

+:jenkins:ALL
+:root:ALL
-:ALL:ALL
BoomShadow
fonte
3

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

    /usr/sbin/sshd -ddd

isso indicou o motivo:

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

Conta verificada:

    passwd -S <username>

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

    passwd <username>

Feito.

MarkHelms
fonte
2

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

Ab_Ro
fonte
2
Mesmo fenômeno, fonte diferente de informações da conta do usuário :-) É possível que eu tenha registrado um bug no ssh e / ou no PAM há dois anos, solicitando um registro mais claro do motivo pelo qual uma tentativa de login foi negada; existe um argumento de segurança para não dizer à pessoa que fez a tentativa por que ela falhou, mas isso não se aplicaria aos logs do sistema.
Zwol 11/11/2015
2

No meu caso, 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 na minha mente), portanto os registros para os novos nomes de usuário eram apenas ausente em / etc / shadow. Em / var / log / secure estava me dando erro unix_chkpwd e acesso negado pelo PAM:

    unix_chkpwd[12345]: could not obtain user info (user2)
    sshd[12354]: fatal: Access denied for user user2 by PAM account configuration
kuz8
fonte
1
usermod (8) é seu amigo na próxima vez ;-)
Michael Shigorin
0

No meu caso, foi atingido o lixo eletrônico '' / etc / tcb / USER / shadow '' após a corrupção do ext4 rootfs em condições "interessantes"; parecia bastante texty, por isso não foi detectado durante o exame inicial (não é possível reinstalar o nó no momento, mas será necessário).

Michael Shigorin
fonte
0

Eu tive o mesmo problema e nenhuma das opções sugeridas funcionou. Mas eu encontrei em um dos fóruns ( https://ubuntuforums.org/showthread.php?t=1960510 ) uma "solução alternativa" que funcionava perfeitamente.

Editar /etc/ssh/sshd_confige definir

UsePAM no

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

O padrinho
fonte