Se você tiver um ssh-agent ativo que tenha a chave id_rsa
carregada, o problema é que ssh está oferecendo essa chave primeiro. O Unfuddle provavelmente o aceita para autenticação (por exemplo, em sshd ), mas o rejeita para obter autorização para acessar os repositórios da empresa (por exemplo, em qualquer software interno usado para autorização, possivelmente algo parecido com o Gitolite). Talvez exista uma maneira de adicionar sua chave pessoal à conta da empresa (várias pessoas não estão compartilhando os mesmos corp_rsa
arquivos de chave pública e privada, são?).
A palavra-chave de configuração IdentitiesOnly
.ssh/config
pode ser usada para limitar as chaves que o ssh oferece ao sshd remoto para aquelas especificadas via IdentityFile
keywords ( isto é, ele se recusará a usar quaisquer chaves adicionais que forem carregadas em um ssh-agent ativo.
Experimente estas .ssh/config
secções:
Host {personalaccount}.unfuddle.com
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
Host {companyaccount}.unfuddle.com
IdentityFile ~/.ssh/{companyaccount}_rsa
IdentitiesOnly yes
Em seguida, use URLs do Git como estes:
git@{personalaccount}.unfuddle.com:{personalaccount}/my-stuff.git
git@{companyaccount}.unfuddle.com:{companyaccount}/their-stuff.git
Se você quiser aproveitar ao máximo o mecanismo .ssh/config
, forneça seu próprio nome de host personalizado e altere o nome de usuário padrão:
Host uf-mine
HostName {personalaccount}.unfuddle.com
User git
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
Host uf-comp
HostName {companyaccount}.unfuddle.com
User git
IdentityFile ~/.ssh/{companyaccount}_rsa
IdentitiesOnly yes
Em seguida, use URLs do Git como estes:
uf-mine:{personalaccount}/my-stuff.git
uf-comp:{companyaccount}/their-stuff.git