I prefer OpenSSH to work this way, too. It does automatically on OS X, and I have used this patch to OpenSSH before but it still hasn’t been integrated. I think I will update that patch to -current and see if I can get it integrated.
update: I had some trouble integrating the 5-year-old code into the OpenBSD -current tree so I redid a bunch of it and submitted the patch to the OpenSSH guys for review.
Would be awesome if this got accepted and I could throw my stupid hack away!
This is pretty great. Any ideas on how to extend this to use multiple keys without lazy adding all at once?