Windows-to-linux: Putty com SSH e par de chaves privada / pública

7

Passei cerca de três horas tentando descobrir como me conectar a uma caixa linux da minha máquina Windows usando o putty sem precisar enviar a senha.

Isso está se conectando a um servidor Ubuntu que está usando o OpenSSH. A chave privada é SSH-2 RSA, 1024 bits. Estou conectando usando SSH2.

Já encontrei os problemas mais comuns:

  1. Putty gerou a chave pública no "formato errado". Eu corrigi isso (como visto em esta postagem do blog ). No entanto, como ainda não estou conectado, não posso confirmar absolutamente que esse arquivo esteja no formato correto. A chave está toda em uma única linha agora, e tentei adicionar / remover quebras de linha no final do arquivo. Eu também tentei o processo de documentação de arquivo público algumas vezes para garantir que eu não tenha flubado a conversão manual. Mesmo assim, não tenho como verificar a precisão aqui.
  2. As permissões também foram erradas, significando especificamente que o arquivo tinha muitas permissões. Eu tive que resolver isso também e eu sei que passou por isso porque eu não vejo mais um erro relacionado em /var/log/auth.log .
  3. Eu tentei authorized_keys e authorized_keys2 caso o servidor tenha uma versão antiga do OpenSSH, mas isso não mudou nada.
  4. Eu tenho acesso como usuário. Depois que esse material do arquivo de chaves falhar, eu posso inserir minha senha

A única informação restante que tenho é que ela afirma que a suposta senha está errada:

sshd[22288]: Failed password for zzzzzzz from zz.zz.zz.zz port 53620 ssh2

Mesmo assim, tanto quanto eu posso dizer, esta é apenas uma tentativa preguiçosa / pegar em algum lugar, desde eu não acho que há uma senha envolvida em tudo .

Não vejo mais nada em nenhum dos arquivos / var / log de uso. O que mais poderia estar errado?

    
por Johnny Kauffman 14.09.2012 / 22:12

3 respostas

11
  • Gere sua chave com PuttyGen.
  • Clique com o botão direito na caixa de texto "Chave pública para colar ..." e escolha select all
  • Clique com o botão direito novamente e escolha copy .
  • Conecte-se ao seu host e edite .ssh/authorized_keys e cole sua chave, remova qualquer outra coisa pré-existente de quando você tentou acompanhar o vídeo.
  • Verifique se a sua pasta ~/.ssh é 0700 com chmod 0700 ~/.ssh/
  • Seu arquivo authorized_keys deve ser 0600 so chmod 0600 ~/.ssh/authorized_keys .

    
por 14.09.2012 / 22:29
1

significa que a troca de chaves não ocorreu ou falhou.

faça o download da ferramenta cli plink.exe (o mesmo lugar que você baixou o putty.exe) e faça algumas depurações

plink -v -i yourprivatekeyfile user@server

veja o que ele informa, além do que o servidor diz.

você pode fazer isso em uma janela powersh ou cmd.

Se você já gerou o seu arquivo público padrão, você pode convertê-lo com

ssh-keygen -i -f seu_putputadorpubkeyfile > openssh.key

a ser adicionado às suas authorized_keys

    
por 14.09.2012 / 22:19
1

Gere um par de chaves e armazene a chave pública no servidor, conforme sugerido pela @Zoredache. Digite uma senha para proteger a chave privada e clique em Save private key e salve a chave. no seu perfil de usuário. Remova a permissão para todos, exceto você, do arquivo de chave.

Para poder autenticar com sua chave privada, você precisa disponibilizá-lo para o PuTTY. Ou carregue com Pageant ou insira-o no diálogo de configuração do PuTTY em Connection > SSH > Auth (clique em Browse... e escolha o arquivo que acabou de salvar).

Na mesma caixa de diálogo, categoria Session insira o nome do host ou endereço IP do host ao qual você deseja se conectar no respectivo campo. Mude para a subcategoria Logging e clique em All session output e, em seguida, clique em Open .

Quando a janela do terminal for aberta, clique com o botão direito do mouse na barra de título e selecione Event Log . Este log do lado do cliente complementa auth.log no lado do servidor e deve ajudá-lo a descobrir o que está acontecendo.

    
por 14.09.2012 / 23:05