Acabei de atualizar meu sistema Ubuntu de 15.10 para 16.04 limpando completamente a partição Ubuntu 15 do meu sistema.
Depois de instalar o Ubuntu 16.04, recriei minhas chaves ssh quando esqueci de fazer o backup delas, mas sempre que tento usá-las, sign_and_send_pubkey: signing failed: agent refused operation
isso é um pouco irritante, pois me permite acessar meu servidor ssh, mas o git se recusa a enviar códigos usando ssh.
Eu já enviei as chaves para o servidor usando ssh-copy-id
.
O servidor ao qual estou me conectando é um servidor Ubuntu 16.04 atualizado por meio do do-release-upgrade
comando Qualquer ajuda será muito apreciada.
l
.L
da fonte "Liberation Mono" :-(ssh-add
outro que não sejassh-add -l
porque você pode acabar com muitas entradas no arquivossh-agent
. Não há necessidade de adicionar manualmente.Dash > Startup Applications
mostra quessh-agent
já está em execução e detectará automaticamente os arquivos como~/.ssh/id_rsa
e~/.ssh/id_rsa.pub
. Para provar isso, você pode usarssh-add -l
antes e depois do usossh-keygen
. Você verá que ele monitora os arquivos para que você não precise adicioná-los manualmente.ssh-add -d
essh-add -D
execute a exclusão manual. Basta apagar os arquivos de chave~/.ssh/id_rsa
e~/.ssh/id_rsa.pub
e ossh-agent
aviso de vontade. Para provar que você pode fazerssh-add -l
antes e depois de excluir os arquivos de chave.Solução Simples
Eu tive o mesmo problema no Ubuntu 18.04. Isso é tudo sobre permissões de chave privada do lado do cliente .
As permissões do arquivo estavam muito abertas (0644).
O seguinte comando resolveu:
fonte
Eu tive o mesmo problema (mesmos sintomas)
... mas a solução foi diferente.
O problema estava vindo do uso do GNOME-KEYRING. O post referente à solução pode ser lido aqui .
Em resumo:
A página fornece outros detalhes em caso de problema semelhante com solução diferente.
fonte
Permissions 0775 for '.ssh/id_rsa' are too open
. A solução simples aqui foichmod 600 .ssh/id_rsa
.SSH_AUTH_SOCK=0
antesgit pull
e recebi permissões como Matt.Quando eu estava
sign_and_send_pubkey: signing failed: agent refused operation
entrando em vários servidores, li a resposta do VonC no Stack Overflow para obter mais informações sobre bugs relacionados, a solução para mim foi remover o gnome-keyring, excluir identidades do ssh-agent e reiniciar.Então todas as minhas chaves começaram a funcionar perfeitamente.
ATUALIZAR:
Solução temporária sem desinstalar o chaveiro
Se você quiser manter o gnome-keyring e tiver o
agent refused operation
erro, use:ou use
SSH_AUTH_SOCK=0 ssh your-server
A solução permanente sem desinstalar o chaveiro
Se você puder, o gnome-keyring é compatível com a chave RSA de 4096 bits, então apenas gere uma nova chave com:
Carregar chave pública para o servidor
Adicionar chave ssh ao agente
Isso deve funcionar sem hacks adicionais e o gnome-keyring pode permanecer instalado.
(-C [nome de usuário] é opcional, mas exigido por provedores como o Google Cloud)
fonte
ssh-agent
. Você ainda pode iniciar o ssh-agent e inserir senhas de chave privada no console / shell.Após a atualização para o Ubuntu 18.04, recebi o mesmo erro
sign_and_send_pubkey: signing failed: agent refused operation
. Acontece que foi causado pelas permissões da chave ssh estarem muito abertas. O comando a seguir corrigiu o problema para mimchmod 600 .ssh/id_rsa
fonte
No meu sistema (também Ubuntu 16.04, tentando conectar-se ao github), eu tinha um arquivo id_ed25519 na minha pasta .ssh que causava
ssh-add
falha:Depois de remover os arquivos
~/.ssh/id_ed25519*
(não precisava mais deles, era de um teste anterior) tudo correu bem novamente.fonte
Could not add identity "~/.ssh/id_ed25519": communication with agent failed
:, agente em execução e configurado, tanto quanto posso dizer.ssh-agent
soquete simples . O ssh-agent simples é capaz de lidar com chaves ED25519, enquanto o agente de autenticação gnome não é (além de outros problemas que causa). Veja a resposta de sam askubuntu.com/a/835114/167846 ou Mike askubuntu.com/a/762968/167846Aconteceu comigo porque minha chave privada tinha uma senha. Teve que correr
ssh-add
e, em seguida, pediu a senha e acrescentou corretamente. No entanto, agora não solicita minha senha quando ssh'ing a uma máquina.fonte
Eu tenho uma nova instalação do Ubuntu16.04 e tive problemas semelhantes. Quando tentei clonar meu repositório no Github depois de copiar minha chave pública para o github (conforme as instruções no github.com ) e depois de executar a seguinte verificação ( recomendada no github.com ):
Fui recebido pelo seguinte:
Para corrigi-lo rapidamente, sem remover nada ou alterar minha configuração de inicialização, digitei o seguinte no terminal:
Então o clone funcionou. Em seguida, iniciei o daemon parado novamente digitando:
Mais tarde, para mudar as coisas de uma maneira mais permanente, segui os conselhos aqui
fonte
Depois de atualizar o Fedora 26 para 28, enfrentei o mesmo problema. E nenhum arquivo de log
mensagem de erro não está apontando problema real. Problema resolvido por
fonte
Adicionando comentário, pois tive o mesmo problema com as teclas ed25519. A questão é realmente chaveiro gnomo. Para corrigir isso, fiz o seguinte:
ssh-agent -s
)fonte
É final de 2018 e esse bug, ou variações dele, ainda atormenta o Xubuntu 16.04 e mais do que provavelmente outros sabores do Xenial. Eu não ficaria surpreso se ele existir em 18.04 também! Existe de alguma forma desde 2009, e Karmic Koala. Afetou Redhat, Debian e Ubuntu. Não aceite minha palavra, veja os rastreadores públicos:
https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/470456
E nesse bug, você também encontra listagens para os outros 3:
Referências:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523322
https://bugzilla.redhat.com/show_bug.cgi?id=508286
https://bugzilla.gnome.org/show_bug.cgi?id=576700
No meu caso, o sintoma mais óbvio foi a incapacidade de usar teclas ssh com senhas. Pode afetar outros sem, pois o mau funcionamento impede que as teclas ssh sejam carregadas! E eu não tive problemas com permissões, era tudo chaveiro de gnomo. Minhas chaves (sim, ele recusou várias, para servidores SSH diferentes!) Eram todas as permissões de 600 (rw para proprietário, nada para grupo ou outro), como indicado em muitas respostas sobre isso. Então, nada que eu pudesse mudar lá.
No Xubuntu, há uma maneira de desativar itens de inicialização. Geralmente também é possível no Unity / Gnome / KDE, mas eu não os tenho instalados, por isso não posso dar etapas específicas. Não tenho certeza de outros desktops. Em vez de desativar o agente SSH, o agente GPG e outros itens do Gnome que causam isso e outros erros relacionados, desativei todos os itens de inicialização do Gnome. Pode ser um exagero ou não uma opção para alguns, mas o SSH está de volta a funcionar perfeitamente na próxima reinicialização!
Captura de tela da GUI descrita acima:
Portanto, desde que dei minha correção acima, espero que alguém a conserte.
Provavelmente, o Ubuntu falhou em esmagá-lo para sempre, já que existem muitos tickets para vários lançamentos que afirmam que ele foi corrigido e mais que dizem "regressão", está de volta.
O Debian provavelmente quer dar um pontapé (lavar as mãos dele) porque não são eles, o upstream é o Gnome.
O Redhat provavelmente tem uma correção disponível apenas para clientes pagantes. Porque, historicamente, Redhat é o maior empregador de desenvolvedores pagos do Gnome, o que é generoso à primeira vista. Até você perceber que isso significa que eles têm incentivo financeiro para nunca colocar correções como essa nas versões gratuitas, para continuar vendendo assinaturas Redhat.
Provavelmente o Gnome é quem pode corrigi-lo com mais facilidade, e os outros podem testar e empacotar, sem escrever uma linha de código. Mas os ingressos que li dizem que o pacote definha há anos sem um mantenedor oficial! E as duas pessoas que voluntariamente o fazem agora (obrigado) estão quase tão ocupadas criando um substituto. Por que não consertar um pneu furado, mesmo que demore um ano (faz uma década!) Em vez de reinventar a roda primeiro ?!
fonte
funciona para mim. Mas tenha certeza
está correndo.
fonte
No meu caso, o problema foi causado pelo GNOME Keyring. Para desativar os recursos SSH do gnome-keyring sem removê- lo (o que quebra muitas coisas), siga estas instruções :
e reinicie a sessão. Agora você pode executar o ssh-agent sem que o gnome-keyring interfira.
fonte
Tentei algumas coisas, entre outras, o ssh-add, redefinindo o SSH (excluindo .ssh / no servidor e assim por diante, mas sem sorte. Então, aconteceu que tive que dormir por uma noite. Ajudou! Por que "Eu acho que o ssh-agent em execução no servidor tinha algo em seu cache que foi atualizado mais tarde naquela noite com os valores agora adequados. De qualquer forma, agora funciona como um encanto. Para finalizar, ele fez isso (Ubuntu 16.04 on localhost, 14.04 no servidor).
fonte
Acabei soltando meu arquivo hosts conhecido e funcionou. Tinha que colocar uma senha novamente, mas finalmente aceitou a senha correta. Foi após uma nova instalação.
fonte
Se adicionar SSH_AUTH_SOCK = 0 antes do comando ssh ajudar, será uma falha no chaveiro do gnome. Exceto as soluções e os problemas fornecidos, o problema pode estar relacionado à senha. Se você tiver uma senha para a chave, o chaveiro do gnome perguntará quando você fizer o login pela primeira vez e se você digitar vazio por falha ou fechar inesperadamente a janela, o gnome assumirá como senha vazia e a lembrará para sempre. Nada ajuda a ser solicitado novamente para a senha. Para resolver o aplicativo ssh keyring aberto, acesse a seção Login na categoria Senhas. Localize o registro correspondente à chave problemática e digite Propriedades e digite a senha correta.
fonte
Há outra causa disso que ainda não está em resposta: o formato PEM para o arquivo-chave deixou de ser o padrão
ssh-keygen
antes de o Ubuntu mudar para umgnome-keyring-daemon
que suporte o novo formato RFC4716.Se você gerar uma nova chave ou adicionar / remover uma senha de sua chave, ela poderá quebrar. A chave está sendo usada
ssh-keygen -m PEM
antes de qualquer outra operação que você precise executar. Por exemplo, você pode converter novamente para o formato antigo usandossh-keygen -m PEM -p
e inserindo a senha antiga como a nova senha (que estaria vazia para nenhuma senha).fonte