Como converter .ppk para OpenSSH em Linux?
Eu sei que é possível converter .ppk em Puttygen no Windows, mas como fazer isso no Linux? Isto é possível?
Faça-o com Putty.
Linux: com o seu gestor de pacotes, instale o PuTTY (ou as ferramentas mais pequenas PuTTY):
OS X: Instale Homebrew , depois corra brew install putty
Coloque as suas chaves em algum directório, por exemplo, a sua pasta home. Agora converta as chaves PPK para pares de chaves SSH: pesquisa de cache
Para gerar a chave private:
cd ~
puttygen id_dsa.ppk -O private-openssh -o id_dsa
e para gerar a chave public:
puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub
Mova estas chaves para ~/.ssh
e certifique-se de que as permissões estão definidas para privado para a sua chave privada:
mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub
Se já tentou efectuar uma operação de “ git clone” poderá ter de o fazer também
chmod 666 ~/.ssh/known_hosts
Obter a chave privada:
abrir o ficheiro .ppk em puttygen:
puttygen ~/.ssh/id_dsa.ppk
exportar como openssh:
Conversões → Exportar chave OpenSSH
** Obter a chave pública:**
abrir como antes da chave privada*** com puttygen, a chave pública está sobchave pública para colar em OpenSSH autorizado_keys file
Preparei um contentor 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 ficheiro ppk /path/to/output
- caminho local para onde a chave privada e pública deve ser colocada