Alternando chaves SSH entre contas Heroku

Você trabalha com várias contas Heroku? Você já encontrou erros como este:

Your key with fingerprint: ... is not authorized to access <application-name>.
fatal
: the remote end hung up unexpectedly

Você pode resolver isso configurando seu cliente SSH, usando arquivos de configuração SSH , para apresentar as chaves corretas ao servidor, mas acho isso um pouco tedioso.

Em vez disso, apenas me certifico de que o cliente SSH tenha apenas uma chave para apresentar ao servidor e que seja a chave certa. Aqui está o que eu faço:

  • Limpar todas as chaves ativas
$ ssh-add -D
  • ssh-adicione a chave correta
$ ssh-add ~/.ssh/an_ssh_key
  • Comece a usar a chave (neste caso, use-a para empurrar para Heroku)
$ git push heroku-remote master

Se você percebeu, essa técnica não é realmente específica do Heroku. É útil sempre que você precisa trabalhar com várias contas SSH no mesmo host, como alternar entre várias contas GitHub.

Nota: No Linux, se você estiver no GNOME, o gnome-keyring-daemon continua adicionando chaves de volta ao agente de autenticação enquanto você tenta removê-las com ssh-add -D . Então, vai parecer que o comando não está funcionando. A solução é desativar a maldita coisa ( Google para isso ). Acho o daemon irritante pelos popups que ele continua jogando em mim, então, pessoalmente, ficaria feliz em vê-lo sumido.

Finalmente, se o seu caso de uso for específico para o Heroku, ou seja, se você só precisa alternar entre as contas do Heroku, existe um plug-in do Heroku legal para isso. Caixa heroku-contas no GitHub: https://github.com/ddollar/heroku-accounts

Consulte Mais informação