Como converter a chave .ppk para a chave OpenSSH no Linux?

162

Eu sei que é possível converter o .ppk em puttygen no Windows, mas como fazer isso no Linux? Isso é possível?

    
por marioosh 12.01.2011 / 18:56

4 respostas

239

Faça isso com Putty.

  • Linux: com o gerenciador de pacotes, instale o PuTTY (ou as ferramentas mais pequenas do PuTTY):

    • Ubuntu sudo apt-get install putty-tools
    • parecido com o Debian apt-get install putty-tools
    • baseado em RPM yum install putty
    • Gentoo emerge putty
    • Archlinux sudo pacman -S putty
    • etc.
  • OS X: Instale o Homebrew e execute brew install putty

Coloque as chaves em algum diretório, por exemplo, sua pasta pessoal. Agora converta as chaves PPK em keypairs SSH: busca de cache

Para gerar a chave privada :

cd ~
puttygen id_dsa.ppk -O private-openssh -o id_dsa

e para gerar a chave pública :

puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub

Mova essas chaves para ~/.ssh e verifique se as permissões estão definidas como privadas para sua chave privada:

mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub

Se você já tentou executar uma operação ' git clone ', talvez seja necessário fazer isso também

chmod 666 ~/.ssh/known_hosts
    
por 12.01.2011 / 19:03
35
ssh-keygen -i -f id_dsa_1024_a.pub > id_dsa_1024_a_openssh.pub
    O sinalizador
  • -i é importado de um formato diferente de openssh
  • -f flag significa ler a partir do arquivo de entrada

Fonte: um post do blog em burnz.wordpress.com

    
por 06.03.2012 / 15:53
5

Obtenha a chave privada:

abra o arquivo .ppk no puttygen:

puttygen ~/.ssh/id_dsa.ppk

export como openssh:

Conversões → Exportar chave OpenSSH

Obtenha a chave pública:

aberto como antes da chave privada com puttygen, a chave pública está sob chave pública para colar no arquivo authorized_keys do OpenSSH

    
por 15.10.2017 / 10:47
4

Eu preparei um contêiner Docker para tornar a vida mais simples:

docker run --rm \
           --volume=/path/to/file.ppk:/tmp/id_dsa.ppk \
           --volume=/path/to/output:/tmp/out/ \
           czerasz/putty-tools

Onde:

  • /path/to/file.ppk - caminho local para o seu arquivo ppk
  • /path/to/output - caminho local para onde a chave privada e pública deve ser colocada
por 07.03.2016 / 12:43