Há algum tempo, configurei um servidor na AWS e usei a chave SSH gerada. Salvei a chave no Lastpass e a recuperei com sucesso de lá antes e a coloquei em funcionamento. No entanto, depois de tentar novamente hoje, não consigo fazê-lo funcionar.
-rw------- 1 itsgreg users 1674 Jun 6 12:51 key_name
Eu tentei ssh -i key_name
, ssh-keygen -f key_name
mas nada funciona, eu sempre recebo esta mensagem de erro:
Load key "key_name": invalid format
Existe alguma maneira de corrigir isso?
----BEGIN RSA PRIVATE KEY-----
e termina com-----END RSA PRIVATE KEY-----
. Além disso, costumava funcionar.O que eu fiz para corrigir esse problema é que eu uso para converter o arquivo PPK usando
PuttyGen
.Primeiro carregue o e
urkey.PPK
, em seguida, no menu de conversão, clique em exportar para o formato de arquivo Openssh. Ele criará o arquivo newkey.agora,
ssh -i "newkey" [email protected]
Feito. Espero que ajude.
fonte
Eu estava pedindo ao openssh para usar um arquivo de identidade específico, especificando-o no arquivo .ssh / config.
A configuração de trabalho original tinha
Isso parou de funcionar sem nenhuma alteração. Pensando um pouco, substituí o "caminho para o arquivo de chave pública" acima por "caminho para o arquivo de chave privada". Isso funcionou. O raciocínio é que os arquivos de chave pública e privada têm grandes números relacionados ao peudoprime, conforme o algoritmo RSA. Se você substituir o arquivo de chave privada pelo arquivo de chave pública, esses números criptográficos não serão extraídos corretamente do bloco base64 salvo nos arquivos de chave. Parece que algumas versões do ssh podem descobrir a extensão .pub e usá-la para identificar o arquivo de chave privada correto - e outras versões não fazem isso. Essa é outra maneira pela qual esse erro pode ocorrer. Espero que ajude alguém.
fonte
config
arquivo de instalaçãopath_to_public_key
e tudo estava funcionando. No entanto, quando o mac fez uma reinicialização forçada e, alguns dias depois, tentei fazer umgit push
, comecei a receber o erro mencionado acima. Mas quando agora mudei para aspath_to_private_key
coisas estão funcionando ... Hmmm. Não sei por que ..Eu tive o mesmo problema e, por algum motivo, havia separadores de linha no estilo Windows (CRLF) no arquivo.
Além disso, o arquivo deve terminar com um único LF.
Consertar aqueles tornou as coisas dândi novamente.
fonte
dos2unix
é o comando para converter de quebras de linha CRLF (estilo Windows) para LF (estilo Linux).Você deve converter sua chave .ppk em chave OpenSSH
Aqui está como você faz isso :
fonte
Eu me deparei com isso hoje, quando estava escrevendo alguns utilitários de marcação git para o meu pipeline de CI.
Aqui estava a diferença entre minhas duas chaves:
Mudei meu código da seguinte maneira:
E agora minha chave ssh funciona.
TL; DR - acho que você precisa ter uma nova linha no final da sua chave privada.
fonte
No meu caso, ocorreu que eu tinha novas linhas entre os "cabeçalhos" de início / fim e os dados principais:
Removendo as novas linhas extras, tornou-se
resolveu meu problema.
fonte
Use sua chave privada em vez da chave pública.
fonte
Eu tive esse problema porque tinha uma chave no ~ / .ssh que na verdade era um formato inválido e tinha muitas chaves, o que significava que o SSH estava tentando todas elas, apesar de ter especificado o meu arquivo de identidade no comando. Acontece que ele falha, porque ele só pode tentar 5 chaves e, em seguida, me deixou com esse erro, que era legítimo, apenas para o arquivo de identidade errado. A solução foi usar apenas
IdentitiesOnly yes
no meu ~ / .ssh / config.fonte
Eu tive esse erro porque havia uma linha em branco no início do arquivo-chave. É fácil perder se você estiver
cat
usando.fonte
Esse também é o erro que o ssh (pelo menos algumas versões) emite se você tiver uma senha na sua chave privada e insira a senha incorretamente ao tentar conectar-se.
(Em particular, isso aconteceu comigo: OpenSSH_7.6p1, LibreSSL 2.6.2, que é o SSH embutido no Mac OS X 10.13.6.)
Portanto, verifique se você está usando a senha correta e se o CAPS LOCK está desativado.
fonte
Renomeie sua chave PRIVATE e remova a extensão do arquivo que é o problema.
Passos que tomei
Crie sua chave pública:
Verifique se você está no mesmo diretório que possui a chave privada
Como criar a chave pública:
verifique se a chave PUBLIC possui uma extensão de arquivo .pub
depois disso, forneça permissões apropriadas por motivos de segurança:
ENTÃO a parte mais importante e o motivo pelo qual você recebeu o erro "formato inválido"
Renomeie sua chave PRIVATE e remova a extensão do arquivo:
Remova o .pem da sua chave privada.
ou, se em um computador Windows renomear a chave privada, o mesmo nome basta remover o
.pem
fonte