Eu estava tentando configurar um script de backup simples para ser executado automaticamente, que copiava um arquivo de uma máquina Windows para um Linux, por meio de SSH.
Como muitos tutoriais on-line simples sugerem que usei pscp
com uma chave privada gerada com puttygen
e coloquei a chave pública correspondente (apresentada em forma de copiar / colar pelo próprio putty) no arquivo authorized_keys
no Linux . Isso parece bastante simples, considerando que ele trabalhava em duas outras máquinas Windows para uma máquina Linux diferente, com a mesma configuração.
Não há problemas de conectividade AFAICS e o mesmo vale para o ssh, considerando que consigo fazer login como root na máquina Linux. O arquivo de configuração ( sshd_config
) tem o AuthorizedKeysFile
definido como ~/.sshd/authorized_keys
.
O erro "Servidor recusou nossa chave" continua aparecendo, não importa o que eu faça ... Os logs não mostram nenhum problema de autenticação ...
Estou planejando fazer mais testes e definindo o valor logLevel
para VERBOSE
ou DEBUG2
ou 3
, mas considerando a urgência do assunto e o fato de que, para realmente testá-lo na máquina Eu tenho que passar por um monte de problemas considerando que a máquina está em um lugar que é muito distante do meu local de trabalho real ...
Perguntas
- Alguém tem alguma ideia?
- Isso já aconteceu com alguém?
Parece que isso pode ser um problema relacionado a versões ssh ou algo do tipo ...
Eu também estava considerando a possibilidade de ter a chave pública inserida no arquivo authorized_keys
dentro do diretório .ssh
do usuário ( /user/.ssh/
) além de tê-la na pasta raiz (não faz muito sentido porque do valor de AuthorizedKeysFile
em sshd_config
).
Eu fiz alguns teting com o servidor% ssh LogLevel
set o VERBOSE
mas eu não consegui recuperar as informações (problemas de responsabilidade), então aqui vai um log de saída / depuração de outra fonte que parece ser exibindo o mesmo erro ...
Connection from 192.168.0.101 port 4288
debug1: Client protocol version 2.0; client software version OpenSSH_4.5
debug1: match: OpenSSH_4.5 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.5
debug1: permanently_set_uid: 22/22
debug1: list_hostkey_types: ssh-rsa,ssh-dss
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST received
debug1: SSH2_MSG_KEX_DH_GEX_GROUP sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_INIT
debug1: SSH2_MSG_KEX_DH_GEX_REPLY sent
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: KEX done
debug1: userauth-request for user dcowsill service ssh-connection method none
debug1: attempt 0 failures 0
debug1: PAM: initializing for "dcowsill"
debug1: userauth-request for user dcowsill service ssh-connection method publickey
debug1: attempt 1 failures 1
debug1: test whether pkalg/pkblob are acceptable
debug1: PAM: setting PAM_RHOST to "192.168.0.101"
debug1: PAM: setting PAM_TTY to "ssh"
debug1: temporarily_use_uid: 1052/105 (e=0/0)
debug1: trying public key file /testuser/.ssh/authorized_keys
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 1052/105 (e=0/0)
debug1: trying public key file /testuser/.ssh/authorized_keys
debug1: restore_uid: 0/0
Failed publickey for dcowsill from 192.168.0.101 port 4288 ssh2
debug1: userauth-request for user dcowsill service ssh-connection method publickey
debug1: attempt 2 failures 2
debug1: test whether pkalg/pkblob are acceptable
debug1: temporarily_use_uid: 1052/105 (e=0/0)
debug1: trying public key file /testuser/.ssh/authorized_keys
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 1052/105 (e=0/0)
debug1: trying public key file /testuser/.ssh/authorized_keys
debug1: restore_uid: 0/0
Failed publickey for dcowsill from 192.168.0.101 port 4288 ssh2
Connection closed by 192.168.0.101
Parece que o programa está tentando abrir o arquivo authorized_keys
com permissões do proprietário, mas não há mais informações sobre o que está gerando o problema.
Uma última coisa, eu verifiquei e verifiquei novamente as permissões de arquivo e tolerante e elas estão todas ok.