Geralmente, conecto-me via SSH a instâncias de VM para implantar código de repositórios privados de Bitbucket, clonando repositórios via git over SSH. Hoje eu estava recebendo o erro:
conq: repository access denied. deployment key is not associated with the requested repository.
Uma pesquisa rápida mostrou que era problema . O problema é que meu agente SSH encaminhado estava tentando se conectar ao Bitbucket com uma chave de desenvolvimento do Vagrant que eu adicionei desde que tentei clonar um repositório privado por SSH. (Remover a chave Vagrant do meu diretório .ssh
me permitiu acessar os repositórios privados novamente.)
Meu SSH config
é:
Host bitbucket.org
User git
IdentityFile ~/.ssh/bitbucket_key
IdentitiesOnly yes
e localmente isso parece se comportar como esperado. A saída de ssh -v [email protected]
mostra
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/me/.ssh/bitbucket_key
ao passo que quando estou conectado a outro servidor por SSH:
debug1: Offering RSA public key: steve@not_a_bitbucket_key
debug1: Authentications that can continue: publickey
debug1: Offering RSA public key: steve@still_not_a_bitbucket_key
debug1: Authentications that can continue: publickey
debug1: Offering RSA public key: steve@bitbucket_key
Existe alguma outra configuração diferente de IdentitiesOnly
que estou perdendo para garantir que apenas as chaves solicitadas sejam enviadas para servidores específicos ao usar o encaminhamento de agentes?
Executando o Ubuntu 12.04 com o OpenSSH 5.9p1 instalado.