当前位置:操作系统 > Unix/Linux >>

CVSClient/Server连接设置

关于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用户本文来自:http://www.xiaoyaxiao.com/2420.html
发表您的高见!
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,