Postępuję zgodnie z procedurą podwójnej tożsamości dla bitbucket :
Mam 2 konta bitbucket ccmcbecki chrisbeck. Pierwsza jest osobista, druga to praca.
Na moim lokalnym komputerze Mac mam to w swoim ~/.ssh/config
Host *.work.com
User chris
ForwardAgent yes
IdentityFile ~/.ssh/work_dsa
Host bitbucket-personal
HostName bitbucket.org
User ccmcbeck
ForwardAgent no
IdentityFile ~/.ssh/bitbucket_ccmcbeck_rsa
Host bitbucket-work
HostName bitbucket.org
User chrisbeck
ForwardAgent no
IdentityFile ~/.ssh/bitbucket_chrisbeck_rsa
Na moim lokalnym komputerze Mac ssh -Twszystko jest w porządku, otrzymuję:
$ ssh -T git@bitbucket-personal
logged in as ccmcbeck.
$ ssh -T git@bitbucket-work
logged in as chrisbeck.
Na moim lokalnym komputerze Mac wersja ssh to OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
Kiedy ssh foo.work.comprzechodzę do mojego Linux-a, otrzymuję:
$ ssh-add -l
1024 ... /Users/chris/.ssh/work_dsa (DSA)
2048 ... /Users/chris/.ssh/bitbucket_ccmcbeck_rsa (RSA)
2048 ... /Users/chris/.ssh/bitbucket_chrisbeck_rsa (RSA)
Na foo.work.com, mam to też w moim~/.ssh/config
Host bitbucket-personal
HostName bitbucket.org
User ccmcbeck
ForwardAgent no
IdentityFile ~/.ssh/bitbucket_ccmcbeck_rsa
Host bitbucket-work
HostName bitbucket.org
User chrisbeck
ForwardAgent no
IdentityFile ~/.ssh/bitbucket_chrisbeck_rsa
Jednak w foo.work.commomencie , gdy ja ssh -T, odwołuje się do niewłaściwego użytkownikagit@bitbucket-work
$ ssh -T git@bitbucket-personal
logged in as ccmcbeck.
$ ssh -T git@bitbucket-work
logged in as ccmcbeck.
Włączona foo.work.comjest wersja sshOpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
Dlaczego moja konfiguracja powoduje foo.work.comodsyłanie do niewłaściwego użytkownika?
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
foo.work.comużywa pierwszego zgłoszonego przez ssh-add -l.
ssh-add -dmojabitbucket-personaltożsamość, tofoo.work.comużywa poprawnegoUser