Como instalo uma chave privada ssh gerada pelo puttygen?

43

Eu configurei meu servidor linux para aceitar conexões do meu PC doméstico adicionando a chave pública gerada pelo puttygen ao arquivo authorized_keys.

Agora estou tentando conectar-me à mesma máquina, mas desta vez a partir de outra máquina Ubuntu. Eu tenho que usar a mesma chave privada (por uma razão estranha, não pergunte ..) e eu não entendo como instalá-lo no meu cliente Ubuntu.

Eu tenho que convertê-lo para algum outro formato?

    
por Assaf Lavie 29.11.2010 / 16:12

7 respostas

23

Não tenho certeza se sua chave privada funcionará no Ubuntu, mas vale a pena tentar. basta copiar as chaves para /home/yourName/.ssh/ nome da chave privada como id_rsa e a chave pública como id_rsa.pub .

Se isso não estiver funcionando, você pode criar seu próprio par de chaves ssh usando ssh-keygen e copiar a nova chave pública para o servidor, e ssh da seguinte forma

ssh -i ~/.ssh/id_rsa_ubuntu.pub <hostName>

Eu não brinquei com isso, mas ouvi dizer que o ssh-agent também pode ser usado para gerenciar chaves ssh.

    
por theTuxRacer 29.11.2010 / 17:18
35

Por coincidência, eu apenas tive que fazer isso. Você precisa converter as chaves para o formato OpenSSH. O comando para fazer isso é:

ssh-keygen -i -f puttygen_key > openssh_key

você pode copiar o conteúdo de openssh_key para .ssh/authorized_keys da mesma forma que com uma chave SSH normal.

A opção -i é a que informa ssh-keygen para fazer a conversão. A opção -f informa onde encontrar a chave a ser convertida.

Isso funciona para as chaves não criptografadas . A chave pública não é criptografada, mas a privada é provavelmente criptografada. Não tenho certeza se existe uma maneira de descriptografar a chave privada, convertê-la e depois recriá-la. Pode ser mais fácil usar novas chaves como a outra resposta sugere (e eu recomendo usar ssh-agent , embora isso seja ortogonal ao problema atual).

    
por Loop Space 29.11.2010 / 21:25
24

Andrew Stacey explicou como converter as chaves para o formato OpenSSH no Linux.

Se você quiser fazer o mesmo no Windows, siga estas etapas:

  1. Iniciar o PuTTYGen.
  2. Clique em "Carregar".
  3. Selecione sua chave privada e insira a frase secreta.
  4. No menu "Conversões", selecione "Exportar chave OpenSSH".
  5. Escolha o nome do arquivo de destino.
por hheimbuerger 09.12.2010 / 23:53
22

Como reutilizar seus pares de chaves Putty no Ubuntu como chaves OpenSSH:

apt-get install putty-tools #Install Putty tools in Linux
cd /my-putty-keys
puttygen mykey-sec.ppk ‐O private‐openssh ‐o my‐openssh‐key.sec
ssh-keygen -i -f mykey-pub.ppk > my-openssh-key.pub

Como o propósito da etapa 4 é adicionar sua chave pública a * ~. / ssh / authorized_keys *, assim você pode usar sua chave secreta Putty como esta ao invés de fazer 4 como uma etapa intermediária:

puttygen ‐L mykey-sec.ppk >> $HOME/.ssh/authorized_keys
    
por user18617 26.05.2011 / 09:32
6

PuTTY / PuTTYgen usa seu próprio formato proprietário de par de chaves. Não funcionará no Linux, onde o formato de chaves OpenSSH prevalece.

  • No PuTTYgen, você pode ver diretamente (e copiar + colar) uma chave pública no formato usado pelo arquivo OpenSSH authorized_keys .

  • Você pode usar o botão Salvar chave pública para salvar a chave pública no formato .pub (RFC 4716). No Linux, o arquivo é geralmente denominado id_rsa.pub (ou id_dsa.pub ). Mas isso normalmente não é necessário.

  • Use as conversões > Exportar chave OpenSSH para exportar a chave privada no formato OpenSSH. No Linux, o arquivo normalmente é denominado id_rsa (ou id_dsa ) e é armazenado na pasta .ssh .

Veja o oficial Usando o PuTTYgen, o gerador de chaves do PuTTY .

Você também pode usar uma versão Linux do PuTTYgen para fazer a conversão. A versão do Linux é a linha de comando, ao contrário da versão do Windows.

puttygen mykey.ppk ‐O private‐openssh ‐o id_rsa

Veja a puttygen man page do Linux.

    
por Martin Prikryl 12.02.2015 / 13:14
1

* * Tenha cuidado e certifique-se de ter acesso ao console na caixa, porque se você não fizer certo, você não poderá fazer o ssh novamente até que você o corrija console.

O processo é muito mais fácil do que você pensa. Carregue o par de chaves pública / privada que você gerou no puttygen novamente. Em puttygen, você notará uma janela no meio da tela que diz: "Chave pública para colar no arquivo OpenSSH authorized_keys:".

destaque todo o conteúdo da caixa e pressione control-c para copiá-lo.

SSH na sua caixa linux e cole no arquivo "/home/username/.ssh/authorized_keys". Eu prefiro usar o nano e basta clicar com o botão direito para colar. Certifique-se de que tudo permaneça em uma linha.

Modifique seu arquivo / etc / sshd_config conforme necessário e reinicie seu serviço sshd: "service ssh restart"

Se você precisar de um arquivo sshd_config de amostra, me avise e eu posso postar o meu.

Eu fiz isso no Ubuntu 8.04, 10.04 e 12.04 servidor LTS e funciona bem.

    
por ErnestA 22.02.2013 / 04:58
1

Encontrei mais uma solução clara.

Em puttygen , crie uma chave, navegue até o menu superior - Conversão e clique em export openssh key

O conteúdo do arquivo começará e terminará com

-----BEGIN RSA PRIVATE KEY----- 

-----END RSA PRIVATE KEY-----
  • para usuário raiz Copie esse arquivo de chave para /root/.ssh/ como id_rsa ou id_dsa

  • para outro usuário Copie esse arquivo de chave para /home/user/.ssh/ as id_rsa ou id_dsa

Nota:

  1. Não é necessário editar authorized_keys .
  2. estou usando o amazon linux
  3. Permissão de arquivo 0600
por P-Kumar 07.12.2016 / 07:12

Tags