Acesso negado para um usuário específico pela configuração da conta PAM

10

Estou tentando configurar um login sem senha de machineApara machineBpara o meu usuário davidque já sai. Isto é o que eu fiz para gerar as chaves de autenticação:

david@machineA:~$ ssh-keygen -t rsa
........

david@machineB:~$ ssh-keygen -t rsa
........

Depois que eu copiei id_rsa.pub (/home/david/.ssh/id_rsa.pub)chave de machineAem machineB authorized_keysarquivo de (/home/david/.ssh/authorized_keys)chave.

E então voltei para a tela de login machineA e executei o comando abaixo e funcionou bem sem problemas. Assim, consegui entrar machineBcomo usuário david sem pedir nenhuma senha.

david@machineA:~$ ssh david@machineB

Questão:

Agora, criei um novo usuário machineAe machineBambos executando apenas este comando useradd golden. E agora eu quero ssh sem senha deste goldenusuário para machineBde machineA. Eu dei o mesmo passo exato que o anterior, mas não funciona.

david@machineA:~$ sudo su - golden
golden@machineA:~$ ssh-keygen -t rsa
........

david@machineB:~$ sudo su - golden
golden@machineB:~$ ssh-keygen -t rsa
........

E então eu copiei a id_rsa.pubchave /home/golden/.ssh/id_rsa.pubdo usuário dourado de machineApara o machineB authorized_keysarquivo /home/golden/.ssh/authorized_keys. E quando tento ssh, isso me dá:

golden@machineA:~$ ssh golden@machineB
Connection closed by 23.14.23.10

O que está errado? Ele não funciona apenas para o usuário dourado que eu criei manualmente através deste comando useradd. Estou executando o Ubuntu 14.04. Existem configurações que eu preciso habilitar para este usuário manual que eu criei?

No machineB auth.logarquivo, abaixo está o que estou vendo quando executo este comando da máquina A ssh -vvv golden@machineBpara efetuar login

Jan  3 17:56:59 machineB sshd[25664]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Jan  3 17:56:59 machineB sshd[25664]: pam_access(sshd:account): access denied for user `golden' from `machineA'
Jan  3 17:56:59 machineB sshd[25664]: pam_sss(sshd:account): Access denied for user golden: 10 (User not known to the underlying authentication module)
Jan  3 17:56:59 machineB sshd[25664]: fatal: Access denied for user golden by PAM account configuration [preauth]

Falta alguma coisa? Abaixo está como minha estrutura de diretórios se parece:

golden@machineA:~$ pwd
/home/golden
golden@machineA:~$ ls -lrtha
total 60K
-rw------- 1 golden golden  675 Nov 22 12:26 .profile
-rw------- 1 golden golden 3.6K Nov 22 12:26 .bashrc
-rw------- 1 golden golden  220 Nov 22 12:26 .bash_logout
drwxrwxr-x 2 golden golden 4.0K Nov 22 12:26 .parallel
drwxr-xr-x 2 golden golden 4.0K Nov 22 12:34 .vim
drwxr-xr-x 7 root     root     4.0K Dec 22 11:56 ..
-rw------- 1 golden golden  17K Jan  5 12:51 .viminfo
drwx------ 2 golden golden 4.0K Jan  5 12:51 .ssh
drwx------ 5 golden golden 4.0K Jan  5 12:51 .
-rw------- 1 golden golden 5.0K Jan  5 13:14 .bash_history


golden@machineB:~$ pwd
/home/golden
golden@machineB:~$ ls -lrtha
total 56K
-rw------- 1 golden golden  675 Dec 22 15:10 .profile
-rw------- 1 golden golden 3.6K Dec 22 15:10 .bashrc
-rw------- 1 golden golden  220 Dec 22 15:10 .bash_logout
drwxr-xr-x 7 root     root     4.0K Jan  4 16:43 ..
drwx------ 2 golden golden 4.0K Jan  5 12:51 .ssh
-rw------- 1 golden golden 9.9K Jan  5 12:59 .viminfo
drwx------ 6 golden golden 4.0K Jan  5 12:59 .
-rw------- 1 golden golden 4.6K Jan  5 13:10 .bash_history

Atualizar:

Em machineA:

cat /etc/passwd | grep golden
golden:x:1001:1001::/home/golden:/bin/bash

Em machineB:

cat /etc/passwd | grep golden
golden:x:1001:1001::/home/golden:/bin/bash
user5447339
fonte
Você poderia mostrar a /etc/passwdentrada para o usuário?
Pbm
atualizou a pergunta com os detalhes. Uma coisa é: primeiro criei o usuário sem nenhuma senha e depois, depois de algum tempo, criei a senha para esse usuário de ouro.
user5447339
Pam_sss está dando ao usuário desconhecido. Você precisa verificar como o sssd está configurado no seu sistema. Alguns casos sssd está configurado para credenciais de cache, de modo que você pode ter para invalidar cache / restart sssd
VenkatC
@VenkatC Como posso reiniciar o sssd no meu sistema? Como todas são VM, não tenho certeza de como foi configurado, pois obtivemos esse sistema de outra equipe.
user5447339
sysyemctl restart sssd - deve funcionar no servidor com base em systemd
VenkatC

Respostas:

13

O problema está na configuração da pilha do PAM. Seu host está configurado pam_accesse a configuração padrão não está permitindo acesso externo / SSH para o novo usuário golden, mesmo que suas chaves estejam configuradas corretamente.

A adição do goldenusuário /etc/security/access.confcomo abaixo corrigiu o problema.

+:golden:ALL

Para ver mais informações, leia o man access.confque explica cada campo deste arquivo. Veja a seção de exemplos para entender a ordem e o significado de LOCAL, ALL etc.

VenkatC
fonte
No meu caso, tive que ser adicionado a um grupo que recebeu permissão de acesso access.conf.
Wolfgang
8

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

Adicione o seguinte em /etc/security/access.conf:

-:ALL:EXCEPT root
IRSHAD AHMED MOHAMMED
fonte
3
Bem-vindo ao Unix.SE! Você poderia editar sua resposta para explicar como é melhor do que as respostas existentes?
Stephen Kitt
@StephenKitt Tentei as duas respostas acima, mas elas não funcionaram para mim. Quando adiciono o -:ALL:EXCEPT rootin /etc/security/access.conf, ele começou a funcionar.
IRSHAD AHMED MOHAMMED
Por favor, tente reiniciar winbindd e oddjobd. Espero que ajude. Obrigado,
IRSHAD AHMED MOHAMMED
1
@IRSHADAHMEDMOHAMMED Você pode explicar por que funcionou e que outras conseqüências relacionadas à segurança isso teria?
Kusalananda