If you have root access to the server, the easy way to solve such problems is to run sshd in debug mode, by issuing something like /usr/sbin/sshd -d -p 2222 on the server (full path to sshd executable required, which sshd can help) and then connecting from the client with ssh -p 2222 user@host
To prevent irrelevant keys from being offered, you have to explicitly specify this in every host entry in the ~/.ssh/config (on the client machine) file by adding IdentitiesOnly like so:
Host www.somehost.com
IdentityFile ~/.ssh/key_for_somehost_rsa
Features
* On Demand
o Can load keys when ssh is launched.
o Can load keys when the Apple Keychain is unlocked.
* Security
o Can unload keys on sleep (or after a period of sleep).
o Can unload keys when the screenssaver kicks in.
o Can unload keys when the Apple Keychain is locked.
o Can lock the Apple Keychain when the screensaver kicks in.
o Can ask for confirmation when keys are accessed (useful for agent forwarding).
* Display
o Icon can be displayed in the statusbar, dock, or both.
* Integration
o Apple Keychain
+ Can store SSH key passphrases in the Apple Keychain.
+ Can lock/unlock the Apple Keychain from a menu item.
o Global Environment
+ Can add the necessary variables to the global environment, so you can use SSHKeychain with Project Builder, etc.
o SSH Tools
+ Works seamless with the commandline tools (adding keys from the commandline also updates the UI).
+ Can generate new keypairs from the UI.
* Networking
o Tunneling
+ Local ports can be forwarded over a ssh connection from the tunnel menu.
+ Tunnels can be launched when your keys are loaded.
+ The tunnel menu indicates the status of your tunnels.
+ Tunnels are automatically closed when the system goes to sleep.
+ Multiple ports can be forwarded over one ssh connection.
o Can handle agent requests through Agent Forwarding.