04
2012

学习笔记 Centos 5.5 升级Openssh



要安装libedit0类库,命令如下

rpm -Uvh ftp://ftp.pbone.net/mirror/atrpms.net/el5-i386/atrpms/stable/libedit0-3.0-1.20090722cvs.el5.i386.rpm

下列命令开始安装Openssh

wget http://www.ctohome.com/linux-vps-pack/webmin/upgrade-openssh.sh

设置sFTP的目标如下:
1. 用户只能通过sftp访问,不能登录SSH
2. 用户要被锁定在特定的目录下,没有读写其它目录的权限

首先修改sshd的配置文件:
$ sudo nano /etc/ssh/sshd_config

#Subsystem sftp /usr/lib/openssh/sftp-server
#该行(上面这行)注释掉
Subsystem sftp internal-sftp
Match group sftp
#匹配sftp组,如为单个用户可用:Match user 用户名;  设置此用户登陆时的shell设为/bin/false,这样它就不能用ssh只能用sftp
ChrootDirectory /sftphome/
#指定用户被锁定到的那个目录,为了能够chroot成功,该目录必须属主是root,并且其他用户或组不能写
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
#UsePAM yes
#该行(上面这行)同样注释掉,或者移到Subsystem sftp internal-sftp的上面

下面建立sftp组和一个测试用户testuser,该用户属于sftp组:
$ sudo groupadd sftp
$ sudo useradd -d /testuser -s /bin/false -g sftp testuser
$ sudo passwd testuser (111111)

创建Ftp目录:
$ sudo mkdir -p /sftphome/testuser

还要修改目录权限,把testuser目录属主给予用户testuser:

$ sudo chown testuser:sftp /sftphome/testuser
这样,testuser用户便可以自由操作此目录了。

重启SSH服务 sshd:
$ sudo /etc/init.d/sshd reload

注意:如何限制sftp用户的访问目录不跳出去,生成 /sftphome/testuserhome/testuser 这样的目录

PS:自己修改的shell命令可以快速安装

wget http://starhai.net/shells/upgrade-openssh.sh





发表评论