ssh passwordless não funciona para usuários recém-criados através do comando “useradd” [closed]

1

Estou tentando configurar um login sem senha de machineA para machineB para meu usuário david , que já sai e funciona bem. Foi o que eu fiz:

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

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

Chaves de autenticação geradas em machineA e machineB para david user. Depois disso, copiei a chave id_rsa.pub (/home/david/.ssh/id_rsa.pub) de machineA para machineB authorized_keys file (/home/david/.ssh/authorized_keys) key.

E então voltei para a tela de login da máquinaA e corri abaixo do comando e funcionou sem pedir senha:

david@machineA:~> ssh david@machineB

Agora criei um novo usuário sem nenhuma senha em machineA e machineB executando este comando apenas useradd golden . E agora eu quero ssh sem senha deste golden user para machineB de machineA . Eu fiz exatamente o mesmo passo acima, 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
....... 

Em seguida, copiei a tecla id_rsa.pub para o usuário dourado de machineA para machineB authorized_keys file. E quando eu tento ssh, isso me dá:

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

O que está errado? Não funciona apenas para usuário dourado, que criei manualmente através deste comando useradd . Estou executando o Ubuntu 14.04. Existe alguma configuração que eu preciso ativar para este usuário manual que eu criei?

Atualização:

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 ..
drwx------ 2 golden golden 4.0K Jan  3 15:00 .ssh
-rw------- 1 golden golden  17K Jan  3 15:04 .viminfo
drwx------ 5 golden golden 4.0K Jan  3 15:04 .
-rw------- 1 golden golden 4.2K Jan  3 16:32 .bash_history


golden@machineB:~$ pwd
/home/golden
golden@machineB:~$ ls -lrtha
total 52K
-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 6 root     root     4.0K Jan  3 14:26 ..
-rw------- 1 golden golden  11K Jan  3 15:21 .viminfo
drwx------ 2 golden golden 4.0K Jan  3 15:21 .ssh
drwx------ 6 golden golden 4.0K Jan  3 15:21 .
-rw------- 1 golden golden 2.9K Jan  3 15:27 .bash_history

O caminho do arquivo authorized_keys está no machineB

/home/golden/.ssh/authorized_keys

Como o log detalhado é muito grande, colei-o aqui:

link

Outra atualização:

No arquivo machineB auth.log , abaixo está o que estou vendo quando executo este comando de machineA ssh -vvv golden@machineB to 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]
    
por user5447339 04.01.2017 / 00:07

1 resposta

1

useradd é um utilitário de baixo nível. adduser teria sido uma escolha melhor. Aqui, seu problema é que, por padrão, useradd cria um usuário sem um shell. E você não pode fazer nada com ssh se você se conectar a uma conta sem shell .

A solução é adicionar um shell ao seu usuário:

chsh -s /bin/sh golden
    
por 04.01.2017 / 01:25