Configurando uma nova gota Digital Ocean com chaves SSH. Quando eu executo ssh-copy-id
isto é o que obtenho:
ssh-copy-id [email protected]
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
sign_and_send_pubkey: signing failed: agent refused operation
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
No entanto, quando tento entrar no ssh, isso acontece:
ssh [email protected]
sign_and_send_pubkey: signing failed: agent refused operation
[email protected]'s password:
Ao inserir a senha, estou conectado perfeitamente, mas isso, obviamente, vai contra o propósito de criar a chave SSH em primeiro lugar. Decidi dar uma olhada no lado do servidor do agente ssh e aqui está o que recebo:
[email protected]:~# eval `ssh-agent -s`
Agent pid 5715
[email protected]:~# ssh-add -l
The agent has no identities.
user / .ssh / authorized_keys também contém uma entrada de chave ssh-rsa, mas find -name "keynamehere"
não retorna nada.
ssh
remote-access
digital-ocean
ssh-keys
user968270
fonte
fonte
gpg-agent
para a funcionalidade SSH. Eu já tenho umenable-ssh-support
emgpg-agent.conf
mas ainda mesma mensagem de erro. Eu encontrei na lista de discussão para executar estegpg-connect-agent updatestartuptty /bye
:: bugs.debian.org/cgi-bin/bugreport.cgi?bug=835394ssh-add
deve ser invocado parassh-agent
que fique ciente da nova chave privada (por linux.die.net/man/1/ssh-agent ).ssh-add
funcionou! Obrigado.Depois de atualizar o Fedora 26 para o 28, enfrentei o mesmo problema. E os seguintes registros estavam faltando
QUESTÃO:
mensagem de erro não está apontando o problema real. Problema resolvido por
fonte
.ssh/
não tinha as permissões necessárias porque eu mesmo o criei manualmente.Eu estava tendo o mesmo problema no Linux Ubuntu 18 . Após a atualização do Ubuntu 17.10 , cada comando git mostraria essa mensagem.
A maneira de resolver isso é verificar se você tem a permissão correta no
id_rsa
eid_rsa.pub
.Verifique o número chmod atual usando
stat --format '%a' <file>
. Deve ser 600 paraid_rsa
e 644 paraid_rsa.pub
.Para alterar a permissão nos arquivos use
Isso resolveu meu problema com a atualização.
fonte
id_rsa.pub
é usado no processo de autenticação do cliente?~/.ssh
:chmod 600 id_*
Execute o comando abaixo para resolver esse problema.
Funcionou para mim
fonte
Tive o erro ao usar o gpg-agent como meu ssh-agent e usar uma subchave gpg como minha chave ssh https://wiki.archlinux.org/index.php/GnuPG#gpg-agent .
Eu suspeito que o problema foi causado por ter uma entrada de pin inválida tty para gpg causada pelo meu comando sleep + lock usado em minha configuração de balanço
bindsym $mod+Shift+l exec "sh -c 'gpg-connect-agent reloadagent /bye>/dev/null; systemctl suspend; swaylock'"
ou apenas dormir / suspender
Redefina a entrada de pin tty para corrigir o problema
gpg-connect-agent updatestartuptty /bye > /dev/null
e a correção para o meu comando sway sleep + lock:
bindsym $mod+Shift+l exec "sh -c 'gpg-connect-agent reloadagent /bye>/dev/null; systemctl suspend; swaylock; gpg-connect-agent updatestartuptty /bye > /dev/null'"
fonte
gpg-connect-agent updaterstartuptty /bye > /dev/null
meu ~ / .zshrc, descomentar essa linha resolveu meu problema.Para este erro:
Eu resolvi assim:
Obrigado.
fonte
Pode haver vários motivos para a obtenção do erro SSH:
Alguns deles podem estar relacionados aos problemas destacados pelas outras respostas (veja as respostas deste tópico), alguns deles podem estar ocultos e, portanto, exigiriam uma investigação mais detalhada.
No meu caso, recebo a seguinte mensagem de erro:
A única maneira de encontrar o problema real era invocar a opção -v verbose que resultou na impressão de muitas informações de depuração:
Observe que a linha que diz
key_load_public: No such file or directory
se refere à próxima linha e não à linha anterior.Portanto, o que o SSH realmente diz é que não foi possível encontrar o arquivo de chave pública denominado
id_rsa.website.domain.com-cert
e esse parecia ser o problema no meu caso, já que meu arquivo de chave pública não continha o-cert
sufixo.Resumindo: a correção no meu caso foi apenas garantir que o arquivo de chave pública fosse nomeado conforme o esperado. Eu nunca poderia suspeitar disso sem depurar a conexão.
O resultado final é USE O MODO SSH VERBOSE (opção -v) para descobrir o que está errado. Pode haver vários motivos, nenhum que possa ser encontrado neste / outro tópico.
fonte
Esta deve ser uma questão de superusuário.
Certo, eu tenho exatamente o mesmo erro dentro do MacOSX SourceTree, no entanto, dentro de um terminal de iTerm2, as coisas funcionam perfeitamente.
No entanto, o problema parecia ser que eu tinha dois
ssh-agent
segundos em execução; (O primeiro sendo
/usr/bin/ssh-agent
(também conhecido como MacOSX's) e depois também o HomeBrew instalado/usr/local/bin/ssh-agent
rodando.Ativar um terminal do SourceTree me permitiu ver as diferenças em
SSH_AUTH_SOCK
, usandolsof
, encontrei os dois se diferentesssh-agent
se consegui carregar as chaves (usandossh-add
) no padrão do sistemassh-agent
(ou seja./usr/bin/ssh-agent
), SourceTree estava funcionando novamente.fonte
Sim. Execute ssh-add na máquina cliente. Em seguida, repita o comando ssh-copy-id [email protected]
fonte
Para mim, o problema era copiar / colar incorretamente a chave pública no Gitlab. A cópia gerou um retorno extra. Certifique-se de que o que você colar é uma chave de uma linha.
fonte
Também recebi um
sign_and_send_pubkey: signing failed: agent refused operation
erro. Mas no meu caso o problema foi umpinentry
caminho errado .Na minha
${HOME}/.gnupg/gpg-agent.conf
apinentry-program
propriedade apontava para um antigo caminho de pinentaria. Corrigindo o caminho ali e reiniciando ogpg-agent
consertou pra mim.Eu descobri seguindo os logs com
journalctl -f
. Lá onde as linhas de registro, como a seguinte, contêm o caminho errado:fonte
Preciso compartilhar, pois passei muito tempo procurando uma solução
Eu estava usando este comando:
gnome-keyring não suporta a chave gerada.
Remover o
-o
argumento resolveu o problema.fonte
No meu caso, o problema era que o chaveiro do GNOME estava contendo uma senha inválida para a chave ssh a ser usada. Depois de gastar uma quantidade indecente de tempo resolvendo esse problema, corri
seahorse
e encontrei a entrada para conter a string vazia. Só posso supor que foi causado por erro de digitação da frase secreta no primeiro uso algum tempo antes e, em seguida, provavelmente cancelando o solicitante ou algo assim para retornar à linha de comando. Atualizar a entrada com a senha correta resolveu o problema imediatamente. Excluir essa entrada (do chaveiro de "login") e inserir novamente a frase-senha no primeiro prompt (e marcar a caixa de seleção apropriada) resolve isso também. Agora o agente obtém a frase secreta correta do chaveiro desbloqueado no login denominado "login" e não pede mais a frase secreta nem "recusa a operação" mais. Claro YMMV.fonte
O que funcionou aqui: no cliente
1) ssh-add
2) ssh-copy-id usuário @ servidor
As chaves foram criadas há algum tempo com "ssh-keygen -t rsa" simples. Troquei a mensagem de erro porque copiei minha chave pública ssh do cliente para o servidor (com ssh-id-copy) sem executar o ssh-add primeiro, já que eu erroneamente assumi que os tinha adicionado algum tempo antes.
fonte
observação rápida para aqueles que atualizaram recentemente para a versão ssh "moderna" [OpenSSH_8.1p1, OpenSSL 1.1.1d FIPS 10 de setembro de 2019] - fornecido com o fedora 31, parece não estar mais aceitando chaves DSA SHA256 antigas (as minhas são datadas de 2006!) - criou uma nova chave rsa, pública adicionada a autorizada, privada no cliente e tudo funciona perfeitamente.
obrigado pelas sugestões anteriores, especialmente o ssh -v foi muito útil
fonte