CVS and SSH

Hosts Involved:
  *------*                *--------*                *-----*
  |remote|----Internet----|firewall|----Internal----| cvs |
  *------*                *--------*                *-----*
Assumptions:
  You can ssh into firewall.
  You can ssh into cvs. 
Initial setup:
  remote# echo '#\!/bin/sh'          > /usr/local/bin/ssh6022
  remote# echo 'ssh1 -C -p 6022 $*' >> /usr/local/bin/ssh6022

  remote# chmod a+rx                   /usr/local/bin/ssh6022
Env setup (tcsh):
  remote> setenv CVS_RSH /usr/local/bin/ssh6022
  remote> setenv CVSROOT cvs_username@localhost:/var/cvs
Tunnel setup:
  remote> ssh1 -l firewall_username -L 6022:cvs:22 firewall -C
Checkout:
  remote> cvs checkout projectName
Update:
  remote> cvs update -d
Update and existing project:
  remote> cvs -dcvs_username@localhost:/var/cvs update -d