Estou tentando configurar um login sem senha de machineA
para machineB
para o meu usuário david
que 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 machineA
em machineB
authorized_keys
arquivo 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 machineB
como usuário david sem pedir nenhuma senha.
david@machineA:~$ ssh david@machineB
Questão:
Agora, criei um novo usuário machineA
e machineB
ambos executando apenas este comando useradd golden
. E agora eu quero ssh sem senha deste golden
usuário para machineB
de 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.pub
chave /home/golden/.ssh/id_rsa.pub
do usuário dourado de machineA
para o machineB
authorized_keys
arquivo /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.log
arquivo, abaixo está o que estou vendo quando executo este comando da máquina A ssh -vvv golden@machineB
para 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
/etc/passwd
entrada para o usuário?Respostas:
O problema está na configuração da pilha do PAM. Seu host está configurado
pam_access
e a configuração padrão não está permitindo acesso externo / SSH para o novo usuáriogolden
, mesmo que suas chaves estejam configuradas corretamente.A adição do
golden
usuário/etc/security/access.conf
como abaixo corrigiu o problema.+:golden:ALL
Para ver mais informações, leia o
man access.conf
que explica cada campo deste arquivo. Veja a seção de exemplos para entender a ordem e o significado de LOCAL, ALL etc.fonte
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_config
e definirEmbora 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.
fonte
Adicione o seguinte em
/etc/security/access.conf
:fonte
-:ALL:EXCEPT root
in/etc/security/access.conf
, ele começou a funcionar.