CVSClient/Server连接设置

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

关于CVS,以前已经写过一篇了。这是《开源世界》2004年3期上的文章,从作者的名字看,有一个应是我的同学。:)

一、 Pserver方式

1、 设置服务器

0) 建立使用CVS的用户或组

#su -

#groupadd linux

#useradd –g linux sun

#useradd –g linux zhang

1) 建立CVS源代码库目录

#cd /usr/local

#mkdir cvsroot

#chmod 774 cvsroot

#chown sun:linux

2) 检查/etc/services文件,以确保有以下两条:

cvspserver 2401/tcp

cvspserver 2401/udp

3) 检查/etc/xinetd.d/目录,以确保cvspserver文件存在,其内容如下:

service cvspserver

{

disable=no

socket_type=stream

wait=no

user=root

server=/usr/bin/cvs

server_args=-f –allow-root /usr/local/cvsroot pserver

log_on_success+= USERID

log_on_failure+=USERID

}

4) 通过重启xinetd来启动cvs服务器

#/etc/rc.d/init.d/xinetd restart

5) 检查防火墙,使其放开2401端口

6) 并用下行命令检查2401端口是否已被正确绑定

#netstat –an|grep 2401

7) 设置环境变量CVSROOT

#CVSROOT=/usr/local/cvsroot; export CVSROOT

可将此放入/etc/profile文件中,以在系统启动时自动设置此变量

8) 初始化CVS

#cvs init

此时,$CVSROOT目录下会出现名为CVSROOT的目录

2、 客户端设置

#cvs –d “:pserver:sun@192.168.0.252:/usr/local/cvsroot” login

#[输入密码]

#cvs import //第一次使用时

#cvs checkout

#cvs logout

3、 高级设置

1) 将CVS帐号和系统帐号分开使用

编辑/usr/local/cvsroot/CVSROOT/passwd文件(此文件安装时并不存在)

每行格式如下:CVS帐号:密码:系统帐号

例子:cvsuser:xcgaer5321dsa:sun

cvsuser登录cvs后,会影射到系统用户sun.

2) 编辑/usr/local/cvsroot/CVSROOT/readers

每行一个账号,只读权限

3) 编辑/usr/local/cvsroot/CVSROOT/writers

每行一个账号,读写权限

二、 SSH方式

1、 安装OpenSSH

1) 检查OpenSSH是否安装

#rpm –qa |grep ssh

2) 检查sshd是否运行

#ps –aef|grep ssh

3) 启动sshd

#/etc/rc.d/init.d/sshd start

2、 基于传统口令认证

#ssh –l [在远程服务器上的帐号] [远程服务器的主机名或ip地址]

#[yes]

#[输入密码]

3、 基于密钥认证

1) 配置远程服务器

编辑/etc/shh/sshd_config文件

将PasswordAuthentication yes改为PasswordAuthentication no

2) 配置客户端

3) 在客户端生成密钥

#cd ~

#ssh-keygen –t rsa (dsa)

#~/.ssh/id_rsa.pubid文件即是公钥

4) 发布公钥

将上步生成的id_rsa.pubid文件复制到远程服务器的sun用户目录下

$cd .ssh

$cat ../id_rsa.pubid authorized_keys

5) 访问CVS源代码库

客户端设置如下就可以访问CVS了

$export CVS_RSH=ssh

$export CVSROOT=:ext:sun@192.168.0.252:/usr/local/cvsroot

三、 SSH通道下的pserver方式

1、 服务器端

服务器按pserver方式设置,并改动/etc/xinetd.d/cvspserver文件如下。

service cvspserver

{

flags=REUSE

socket_type=stream

wait=no

user=root

server=/usr/bin/cvs

server_args=-f –allow-root=/usr/local/cvsroot pserver

passénv=

log_on_failure+=USERID

only_from=127.0.0.1

bin=127.0.0.1

}

改完之后重启xinetd.

2、 客户端

1)客户端需要通过任一个远程服务器的用户,来建立ssh通道

$cd ~

$ssh-keygen –d

$将.ssh/id_rsa.pubid文件内容追加到远程用户如zhang的~/.ssh/authorized_keys后。

$ssh –v –a –e none –N –o ‘KeepAlive=yes’ –o ‘BatchMode=yes’ –L 2401:localhost:2401 zhang@192.168.0.252

此时该窗口进入阻塞状态

2)在另一个窗口中,

$export CVSROOT=:pserver:sun@192.168.0.252:/usr/local/cvsroot

其中sun是CVS用户

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航