SSH keys, CVS, and Sourceforge: They All Lived Happily Ever After
Hallelujah! After nearly 6 months of being locked out of the Sourceforge CVS server, I’m officially a functional member of society again, with a working DSA key.
Sometime last June I uploaded an SSH key to the Sourceforge CVS servers. It somehow got corrupted. Then I spent the next 2 months trying to convince Sourceforge to remove it so I could at least revert to logging in using a password. Apparently the only solution was to upload a new key over top of the existing one. However this didn’t work. I’ve been re-trying this technique on a montly to semi-monthly basis ever since. And today it worked.
CVS Troubleshooting
Have you ever gone through this dreaded little dance? > ```
cvs update Connection closed by some ip address cvs [update aborted]: end of file from server (consult above messages if any) ```
A bit short on diagnostic information isn’t it? To give CVS the benefit of the doubt about its seemingly uneccessary terseness, remember that CVS checkouts over SSH are kind of a last minute hack, a bag on the side of a program developed for an earlier, more trusting era. In my unfortunately too common expirence this means one of two things. 1. You’ve forgotten to set the environment variable CVS_RSH
to ssh
(e.g. export CVS_RSH=ssh
). This enviornment vairable tells CVS that when it sees :ext: as the auth protocol to use SSH. See Accessing A Repository
- You’ve successuly setup CVS to use SSH, and now you’re trying to use SSH keys, and something is going wrong. (for example you uploaded your public key through a web app that inexplicably mangled it)