liunx搭建sftp文件服务器,Centos7搭建sftp服务器

当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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值