Eu descobri que ssh-keygen
(o pacote "ssh") produz chaves diferentes de puttygen
(pacote "putty").
Se eu criar chaves públicas e privadas com ssh-keygen
alguns servidores ssh, não aceitarei minhas chaves. Se eu criar chaves com puttygen
apenas um servidor, será aceito.
Por que os repositórios linux não propõem uma solução comum (pacote) para isso? Eu encontrei outro pacote ssh-3.2.9.1 que cria chaves que funcionam com massa de vidraceiro. Mas por que não há solução útil no SSH?
Respostas:
OpenSSH é a implementação padrão de fato do protocolo SSH. Se PuTTY e OpenSSH diferirem, PuTTY é aquele que é incompatível.
Se você gerar uma chave com o OpenSSH usando
ssh-keygen
as opções padrão, ela funcionará com praticamente todos os servidores existentes. Um servidor que não aceita essa chave seria antigo, usando uma implementação diferente do SSH ou configurado de uma maneira estranha e restritiva. Chaves de um tipo não padrão podem não ser suportadas em alguns servidores, em particular as chaves ECDSA tornam o estabelecimento da sessão muito ligeiramente mais rápido, mas são suportados apenas pelas versões recentes do OpenSSH.O PuTTY usa um formato de arquivo-chave diferente. Ele vem com ferramentas para converter entre seu próprio
.ppk
formato e o formato do OpenSSH.Este ssh-3.2.9.1 que você encontrou é um produto comercial que possui seu próprio formato de chave privada. Não há razão para usá-lo em vez do OpenSSH, ele só pode ser menos compatível, requer pagamento e não há nenhum tutorial sobre como usá-lo por aí.
fonte
A maioria das distribuições Linux está
putty
disponível para Linux. Você pode instalarputty
no lado Linux e usarputtygen
para converter os arquivos .ppk nos arquivos-chave comuns do estilo ssh (chamados arquivos PEM - mesmo que eles não recebam um .pem no nome do arquivo).NOTA: Você também pode
puttygen
importar arquivos PEM no estilo sshputty
.O autor do PuTTY optou pela simplicidade, para que as chaves públicas e privadas que compõem a segurança subjacente usada pela autenticação de chave putty / ssh 2 sejam armazenadas em um único arquivo .ppk proprietário. Normalmente, essas chaves são mantidas como 2 arquivos separados pelo ssh.
No Linux, os arquivos principais normalmente são mantidos no diretório .ssh.
Há uma boa visão geral do processo de conversão aqui nesta questão do Stack Overflow, intitulada: Converter PEM em formato de arquivo PPK .
O autor do putty também discute sua justificativa para o uso de arquivos .ppk no
putty
manual do usuário . Você pode ler sobre isso aqui na seção 8.2.12.fonte
uname -a
. Distro Linux:lsb_release -a
.Ambos armazenam um "par de chaves RSA para a versão 2 do protocolo SSH" e podem ser convertidos de forma intercambiável; no entanto, em relação à diferença real de formato armazenado:
de https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/key-formats-natively.html
[ ênfase adicionada]
fonte