使用cvs本身的远程认证很麻烦,需要定义服务器和用户组,用户名,设置密码等,而且不安全,因此和系统本地帐号认证并通过SSH传输是比较好的办法,通过在客户机的/etc/profile里设置一下内容:
CVSROOT=:ext:$USER@test.server.address#port:/path/to/cvsroot
CVS_RSH=ssh
export CVSROOT CVS_RSH
即
export CVSROOT=:pserver:cvs_han@192.168.8.226:2401/repos/project
export CVS_RSH=ssh
=========================================================
登录cvs服务器(如服务器IP是192.168.2.253):
另一台linux机器执行下列命令:
#export CVSROOT=:pserver:cvs@192.168.8.226:2401/repos/project
#cvs login
输入密码,没有出错提示表示登陆成功.
如果想在一个linux系统上建多个源代码库,分别提供cvs服务。重复上面步骤就可以了。
第1步时候要注意使用一个不同路径。
第2步放到xinetd系统服务中稍微麻烦点。/etc/xinetd.d目录下要生成一个新的任务配置文件,
例如cvspserver1,文件中service名称一定要区分第一个,例如service
cvspserver1,server_args做相应变动。还要在/etc/services文件中,加入新的服务端口号,
例如:cvspserver1 2402/tcp。重新启动xinetd服务.
第3步测试时候,可以这样设定:
#export CVSROOT=:pserver:cvs@192.168.2.253:2402/usr/local/source1
客户端需要设置CVSROOT变量,下次登陆cvs的时候不用输入路径
如客户端有用户guo,在/HOME/guo目录的文件.bash_profile中加入:
CVSROOT=:pserver:cvs@202.204.114.37:/home/cvs/cvsroot
export CVSROOT
键入命令使变量设置马上生效:
#source /home/weiqiong/.bash_profile
导入源代码,如果所有的代码都在目录/home/guo/source下
#cd ~/source
#cvs import -m "initial code" test guo start
这样服务器上生成目录/home/cvs/cvsroot/test中为源代码库