提供cvs only的ssh服务

 摘抄自http://www.akeysoft.com

今天配置了通过ssh提供的cvs服务:

安装了sshd后,创建使用cvs的帐户。不过这些帐户的开通使得cvs的用户可以通过ssh登录到cvs服务器上执行命令。为了限制cvs用户只能通过ssh使用cvs功能,我用Google找到了两个方法。

方法一:关闭ssh的密码认证功能,让ssh服务必须通过密钥(证书)认证,并在服务器上的认证证书文件的证书前加上command选项限制ssh登录后的执行命令。这个方法不太好,用户通过ssh连接到服务器后,就进入cvs的服务命令状态,没有任何提示。

方法二:建立一个脚本作为用户登录后的shell,脚本的内容为判定执行的命令,如果是cvs命令则执行,否则显示提示信息后退出。我选择了这个方法,建立了下面的脚本文件(文件名为cvsonly):

#!/bin/sh

if [ "$*" != "-c cvs server" ]; then
    echo "CVS Only!";
    exit;
fi;
cvs server

脚本存放在/usr/local/bin下,通过chmod 755加上执行权限。

然后在/etc/passwd中将只允许使用ssh访问cvs的用户的shell替换成上面的脚本即可。

在cygwin上也可以用类似的方式进行配置。(实际上我就是在cygwin环境下这样配置的,Linux上反而还没有试验。)

另外,为了更加安全可以在上面的脚本的最后一行cvs server后加参数--allow-root,防止cvs访问cvsroot之外的文件系统。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值