sftp e chaves públicas

4

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 icelizard 19.07.2011 / 13:22

4 respostas

1

debug3: Trying private key: /root/.ssh/id_dsa

debug3: no such identity: /root/.ssh/id_dsa

Você criou seu par de chaves como usuário root? Não parece que você fez, como /root/.ssh/id_dsa não parece existir (ou talvez a permissão está errada: só deve ser lido / gravável pelo root; nenhum mundo / grupo acesso de leitura / gravação).

EDITAR

Parece que você gerou chaves rsa pela aparência de seu ls , mas está oferecendo chaves dsa.

    
por 19.07.2011 / 13:37
0

Você está dizendo que pode entrar com uma senha de root vazia? Eu consideraria muito analisar isso e garantir que a conta não seja comprometida.

ls -l /root/.ssh/id_dsa

deve retornar

-rw------- root ...
    
por 19.07.2011 / 14:25
0

Abra um novo terminal e execute o sshd no modo de depuração (opção -d) em outra porta. O modo de depuração só funciona se você usar o caminho completo. Então

'which sshd' -d -p 9999

Assista ao stdout desse console e tente o sftp novamente

sftp -oPort=9999 [email protected]

Verifique a saída e, se não conseguir descobrir o que está acontecendo, cole-a aqui.

    
por 11.03.2012 / 10:17
0

O ssh é MUITO ESTRITA nas permissões. Além disso, como você está especificando a chave? Você está permitindo que o ssh tente o padrão de ~ / .ssh / id_rsa?

Por favor, tente especificar a chave na CLI com isto: -oIdentityFile = / root / .ssh / id_rsa

Se você tiver acesso ao servidor como root, verifique auth.log e descubra porque ele está rejeitando a chave ... mas é muito interessante que o servidor pareça aceitar a chave em um determinado ponto.

    
por 12.04.2012 / 15:40