RESOLVIDO Foi o grupo gravável em user_B
s home diretório, que me enganou.
Estou ficando sem ideias sobre isso. Cada sugestão seria muito apreciada.
Considere esta configuração:
- Um servidor
S
executando Ubuntu, usuáriosboldewyn
,user_A
euser_B
- Dois laptops
A
eB
, cada um com um usuário localboldewyn
(tem umid_rsa
chave para entrarS
) e uma segunda chaveid_rsa_A
/id_rsa_B
. Todas as chaves são armazenadas em/home/boldewyn/.ssh
. Ambos rodando o Ubuntu. user_A
euser_B
emS
tem senhas vazias, o login deve ser possível somente via publickey e SSH.+--------+ +-------------------+ +--------+ | laptop | | server | | laptop | | A | | S | | B | | | | | | | +--------+ SSH +-------------------+ SSH +--------+ |id_rsa_A|------------|< user_A user_B >|------------|id_rsa_B| +--------+ +-------------------+ +--------+ |id_rsa |------------|< boldewyn >|------------|id_rsa | +--------+ +-------------------+ +--------+
O que funciona:
Faça o login de qualquer laptop como
boldewyn
(usandoid_rsa
eS:/home/boldewyn/.ssh/authorized_keys
Faça login no laptop
A
como usuáriouser_A
(usandoid_rsa_A
eS:/home/user_A/.ssh/authorized_keys
:ssh -i id_rsa_A user_A@S
)
Meu problema: No laptop B
exatamente a mesma configuração falha para user_B
. Não consigo fazer login S
porque, por algum motivo, a chave não é aceita eo prompt de senha é enviado ( user_B
não tem senha, isso não é uma opção).
O que eu verifiquei:
No laptop
B
:- Verificou os direitos de
~/.ssh
e todo o seu conteúdo - colocar parte pública de
id_rsa_B
emboldewyn
s.authorized_keys
essh -i id_rsa_B boldewyn@S
: funciona (a chave não está corrompida ou assim) ssh -vvv
: Bem, não é realmente útil: Apenas me diz em um ponto, que ele pulapublickey
método agora. Nenhuma razão dada.
- Verificou os direitos de
No servidor
S
:- Tridimensional
user_B
s.authorized_keys
Arquivo - Verificou os direitos de
/home/*/.ssh
e todo o seu conteúdo (especialmente comparadouser_A
euser_B
) - Verificado que
$HOME
está definido (viasudo -u user_B -i
) - Verificado, que todos os usuários estão em
/etc/ssh/sshd_config
sAllowUsers
(eAllowGroups
, a propósito)
- Tridimensional
Outras coisas:
A única diferença que eu posso fazer entre user_A
e user_B
é que eu criei o último com adduser -M
(não crie um diretório inicial; ele já existia antes). No entanto, eu verifiquei /home/user_B
e todas as crianças relevantes são de propriedade de user_B
e seu grupo primário.
/home/user_B
(assim como /home/user_B/.ssh
e /home/user_B/.ssh/authorized_keys
) as permissões apropriadas não eram graváveis, exceto para o usuário, ou seja, o modo 755 ou mais restritivo?
user_A
s case (working) com os para user_B
(não está funcionando). Eles são exatamente os mesmos (além da propriedade de arquivos, obviamente).
sshd
em S no modo de depuração:sudo sshd -rdp 1234
- geralmente ajuda. (-p 1234
é a porta temporária para a qual você fará o SSH.)