Had trouble getting it to work with ancient versions of ssh (OpenSSH_3.1p1) and cvs (Concurrent Versions System (CVS) 1.11.20).
Until I figured that I could write a little wrapper script to see what’s wrong. The wrapper script looked like this:
#!/usr/bin/env bash cat -|ssh -vvv "$@"
… so that it could be used inside CVS_RSH for piping. It turned out, that the only “minor issue” was that my version of CVS does not like the contents of CVS_RSH to be anything but the path to an executable. Since I was trying to pass the identity and other options, it simply failed. In addition the PATH wouldn’t be valid inside the invoked cvs process so that the CVS_RSH had to point to the absolute path of the ssh binary.
My workaround after figuring that out:
- Adding the identities to the agent instead
- Passing the full path when setting the
CVS_RSHvariable
Works like a charm now.
// Oliver