sftp e chaves públicas

3

Estou tentando entrar em um servidor hospedado por outra pessoa.

Para ter certeza de que isso funcionou, eu fiz o padrão sftp [email protected] i foi prometido com a senha e funcionou bem.

Estou configurando um cron script para enviar um arquivo uma vez por semana, por isso, fornecemos a chave pública que eles afirmam ter adicionado ao arquivo authorized_keys.

Eu agora tento sftp [email protected] novamente e ainda recebo uma senha, mas agora a senha não funciona ...

Connecting to [email protected]...
[email protected]'s password: 
Permission denied, please try again.
[email protected]'s password: 
Permission denied, please try again.
[email protected]'s password: 
Permission denied (publickey,password).
Couldn't read packet: Connection reset by peer

No entanto, notei que, se simplesmente pressionasse enter (sem senha), ele me conectaria bem ...

Então, aqui estão minhas perguntas:

  1. Existe uma maneira de verificar qual par de chave privada / pulbickey meu sftp conexão está usando?
  2. É possível especificar qual par de chaves usar?
  3. Se tudo estiver configurado corretamente (usando o par de chaves correto e adicionado aos arquivos autorizados), por que estou sendo solicitado a inserir uma senha em branco?

Obrigado pela sua ajuda antecipadamente!

UPDATE

Acabei de executar sftp -vvv [email protected]

....
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /root/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: SHA1 fp 45:1b:e7:b6:33:41:1c:bb:0f:e3:c1:0f:1b:b0:d5:e4:28:a3:3f:0e
debug3: sign_and_send_pubkey
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /root/.ssh/id_dsa
debug3: no such identity: /root/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password

Parece sugerir que ele tenta usar a chave pública ... O que estou perdendo?

    
por Lizard 19.07.2011 / 13:09

2 respostas

1

A execução no modo detalhado deve ajudá-lo:

sftp -vvv [email protected]

O que mostrará quais chaves estão sendo usadas e, com sorte, o motivo de uma senha.

update: Você pode dizer ao ssh qual chave privada usar: link mas não tenho certeza de como você faria o mesmo servidor

    
por 19.07.2011 / 13:15
0

Primeiro link sobre como fazer o que você fez: link

Parece descrever os mesmos passos que você deu, mas sem o problema resultante. Você certificou-se de que suas chaves privadas não estão usando uma senha? O site implica que as chaves são correspondidas automaticamente pelo SFTP; Eu estou supondo que esteja usando as impressões digitais das chaves.

Além disso, dê uma olhada na página de manual para SFTP e tente especificar as opções desejadas para preferir autenticação baseada em autenticação de senha.

Atualização:
Talvez o lado do servidor não esteja configurado corretamente? Por exemplo, o arquivo authorized_keys tem uma entrada incorreta especificando o usuário @ host?

    
por 19.07.2011 / 13:27