美文网首页
Centos7搭建sftp服务器

Centos7搭建sftp服务器

作者: 盘木 | 来源:发表于2019-07-01 23:46 被阅读0次

当ssh连接linux服务器的时候传送文件很麻烦,但是用sftp就方便多了,系统有的是默认带有sftp服务的,但是有时候会存在问题导致不能使用,这时需要重新注册服务,以下步骤仅供参考。
一、创建sftp组
创建完成之后使用 cat /etc/group 命令组的信息

groupadd sftp
创建一个sftp用户mysftp并加入到创建的sftp组中,同时修改mysftp用户的密码
useradd -g sftp -s /bin/false mysftp  
passwd mysftp

二、新建/data/sftp/mysftp目录,并将它指定为mysftp组用户的home目录

mkdir -p /data/sftp/mysftp  
usermod -d /data/sftp/mysftp mysftp

三、编辑配置文件/etc/ssh/sshd_config

vi /etc/ssh/sshd_config
将如下这行用#符号注释掉
# Subsystem sftp /usr/libexec/openssh/sftp-server
并在文件最后面添加如下几行内容然后保存
Subsystem sftp internal-sftp

四、设置Chroot目录权限

chown root:sftp /data/sftp/mysftp  
chmod 755 /data/sftp/mysftp

五、新建一个目录供stp用户mysftp上传文件,这个目录所有者为mysftp所有组为sftp,所有者有写入权限所有组无写入权限

mkdir /data/sftp/mysftp/upload  
chown mysftp:sftp /data/sftp/mysftp/upload  
chmod 755 /data/sftp/mysftp/upload

六、关闭selinux并重启sshd服务,然后测试

systemctl restart sshd

七、最后,登录
使用FTP客户端测试的登录

遇到问题上传文件权限不够解决办法

sftp put权限不够

报错如下:

sftp> put play.zip ./
Uploading play.zip to /opt/library/./play.zip
remote open("/opt/library/./play.zip"): Permission denied

原因:
sftp登录以后当前所在目录的owner不是sftp登录者,也就是说当前目录没有write权限,so修改权限,再put上传。如下:

$ sudo chown mysftp -R ./      # ssh登录以后修改目录owner ./文件上传目录(sftp保存文件的目录)
$ exit

登出

$ sftp mysftp@192.168.159.129     # 重新登录sftp
mysftp@192.168.159.129's password: 
Connected to 192.168.159.129.
sftp> cd /opt           # 进入要上传的目录
sftp> put play.zip      # 上传
Uploading play.zip to /opt/library/play.zip
play.zip                                                                    100%   74MB  10.6MB/s   00:07

相关文章

网友评论

      本文标题:Centos7搭建sftp服务器

      本文链接:https://www.haomeiwen.com/subject/lnrlcctx.html