本文介绍 centos6.2使用sftp限制帐号SSH连接的方法,感兴趣的朋友可以参考下。
一、编辑ssh的配置文件/etc/ssh/sshd_config
#vim /etc/ssh/sshd_config
#Subsystem sftp /usr/libexec/sftp-server //找到此行在前面加#注释掉
添加:
复制代码 代码如下:
Subsystem sftp internal-sftp
Match Group sftpChroot
ChrootDirectory %h //%h表示用户根目录全路径,也可以这样ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
二、重启SSH,以使修改生效
/etc/init.d/sshd restart
三、创建用户
复制代码 代码如下:
#groupadd sftpChroot
#useradd -G sftpChroot -d /home/sftpuser -s /bin/false sftpuser
权限分配
复制代码 代码如下:
#chown root /home/sftpuser
#chmod 755 /home/sftpuser
这时SFTP可以连接上,但是不能在此目录下上传文件,提示没有权限
复制代码 代码如下:
#mkdir /home/sftpuser/test
#chown sftpuser.sftpuser /home/sftpuser/test
这时SFTP连接上,可以上传文件,如果还是不能在此目录下上传文件,提示没有权限,检查SElinux是否关闭,可以使用setenforce 0关闭selinux。
开始以为是权限问题导致的无法上传文件,即使给777权限给文件夹也无法上传文件,需要关闭SElinux。