如何在Linux中搭建一个SFTP服务器

      1.创建用户和文件夹并授权

#创建sftp组
groupadd sftp
#添加sftp用户
 useradd -g sftp -s /bin/false sftpuser
 #设置密码
 passwd sftpuser
 #创建目录
 mkdir /sftp
 #授权
 chown root:root /sftp
 chmod 755 /sftp
 cd /sftp
mkdir sftpuser
#修改用户登录时候的目录
usermod -d /datas/www sftpuser
#授权
chown -R sftpuser:sftp /sftp/sftpuser
chmod -R 777 /sftp/sftpuser

vim /etc/ssh/sshd_config

2.修改sshd_config

Subsystem sftp internal-sftp
# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       PermitTTY no
#       ForceCommand cvs server

Match User sftpuser #匹配用户,如果要匹配多个组,多个组之间用逗号分割
ChrootDirectory /sftp/ #用chroot将指定用户的根目录,chroot的含义:http://www.ibm.com/developerworks/cn/linux/l-cn-chroot/;
ForceCommand internal-sftp #指定sftp命令
X11Forwarding no #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
AllowTcpForwarding no

3.关闭selinux并重启sshd

关闭selinux,可以不关闭试试
vim /etc/sysconfig/selinux
#找到如下这行 
SELINUX=enforcing

#修改为
SELINUX=disabled
#重启sshd服务
systemctl restart sshd.service

4.测试:

#最后测试sftp是否设置成功
sftp -oPort=22 [email protected]

你可能感兴趣的:(linux运维,服务器,linux,运维)