sshd recusa publickey embora combinado?

1

Estou usando o OpenSSH 6.8 fornecido com o DSM 6 no meu Synology NAS como servidor e o OpenSSH 7.3p1 no meu Arch Notebook como um cliente. Eu posso fazer o login como o usuário padrão admin via senha, mas não via chave, e não consigo descobrir o porquê.

O mais estranho é: o servidor parece aceitar minha chave pública, mas ainda adia?

...
debug1: userauth-request for user admin service ssh-connection method publickey [preauth]
debug1: attempt 1 failures 0 [preauth]
debug1: test whether pkalg/pkblob are acceptable [preauth]
debug1: temporarily_use_uid: 1024/100 (e=0/0)
debug1: trying public key file /var/services/homes/admin/.ssh/authorized_keys
debug1: fd 5 clearing O_NONBLOCK
debug1: matching key found: file /var/services/homes/admin/.ssh/authorized_keys, line 1 RSA SHA256:Kq+mYIESxPced3WZ0/GXkKeYxzn5aLI8P0S8MoVPll4
debug1: restore_uid: 0/0
Postponed publickey for admin from <client IP> port 43226 ssh2 [preauth]
...

Já tentei várias reinicializações de ambas as máquinas e o sshd e quase todas as permissões de acesso possíveis na pasta base do administrador do usuário e é .ssh directory. Mas isso não parece ser o problema. O que há de errado aqui?

Todas as ideias são muito apreciadas! Agradecemos antecipadamente,
Lukas

EDITAR: O cliente diz: "operação recusada pelo agente" depois de sondar a chave:

debug1: Offering RSA public key: /home/client/.ssh/id_rsa
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug2: input_userauth_pk_ok: fp SHA256:Kq+m***
debug3: sign_and_send_pubkey: RSA SHA256:Kq+m***
sign_and_send_pubkey: signing failed: agent refused operation

Além disso, enviei a saída completa das sessões de cliente e servidor detalhadas aqui .

    
por LukeLR 24.08.2016 / 01:49

2 respostas

0

Este é provavelmente um problema com as permissões de arquivo de chave em seu servidor. Certifique-se de que sua pasta .ssh , os arquivos dentro e o diretório inicial em que a pasta .ssh está, tenham permissões restritivas. O servidor OpenSSH recusa as operações chave se as permissões forem muito permissivas. Isso significa que qualquer coisa além de 700 é freqüentemente recusada.

O servidor OpenSSH faz avisos de impressão se as permissões estiverem incorretas, mas apenas como nível de depuração 3, para que elas não apareçam na saída normal ou no modo de depuração normal. Além disso, avisos de permissão só aparecem assim que alguém tenta se conectar. Execute sshd -D -ddd -e para habilitar a depuração de terceiro nível e faça avisos de impressão do OpenSSH nas permissões do arquivo de chave. Certifique-se de parar seu servidor OpenSSH antes, caso ele esteja em execução.

O servidor OpenSSH aguardará qualquer conexão de entrada, mas não entrará no segundo plano, portanto, toda a saída será impressa em stdout . Portanto, você pode assistir ao servidor OpenSSH ao tentar estabelecer uma conexão SSH de um de seus clientes. Caso você veja avisos de permissão assim que tentar efetuar login, tente estes comandos para corrigir suas permissões:

chmod 700 ~
chmod 700 -R ~/.ssh

onde ~ é o diretório inicial do usuário que você deseja acessar via ssh.

Reinicie seu servidor OpenSSH depois e veja se o problema foi corrigido:)

    
por 05.03.2017 / 16:43
0
debug1: Server accepts key: pkalg ssh-rsa blen 279

Este é apenas um teste para combinar as chaves

sign_and_send_pubkey: signing failed: agent refused operation

para obter acesso, você precisa provar a posse da chave privada, que seu ssh-agent falhou e, portanto, você é rejeitado.

Qual é o seu ssh-agent e onde são necessárias as chaves?

    
por 24.08.2016 / 12:10