multiple ssh aliases is selecting wrong user when forwarding
- by Chris Beck
I'm following the dual identity procedure for bitbucket:
I have 2 bitbucket accounts ccmcbeck and chrisbeck. The former is personal, the latter is work.
On my local Mac, I have this in my ~/.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
On my local Mac I ssh -T all is good, I get:
$ ssh -T git@bitbucket-personal
logged in as ccmcbeck.
$ ssh -T git@bitbucket-work
logged in as chrisbeck.
On my local Mac, the ssh version is OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
When I ssh foo.work.com to my Linux box, I get:
$ 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)
On foo.work.com, I also have this in my ~/.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
However, on foo.work.com when I ssh -T, it references the wrong User for git@bitbucket-work
$ ssh -T git@bitbucket-personal
logged in as ccmcbeck.
$ ssh -T git@bitbucket-work
logged in as ccmcbeck.
On foo.work.com, the ssh version is OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
Why is my configuration causing foo.work.com to reference the wrong User?