赞
踩
背景:使用sftp服务上传和下载文件时出现这个错误提示,导致无法正常去加载文件,网上找了一大圈也没找到这个问题解决方案。这个异常是sftp服务出了问题,我的解决方法是,删除原来创建的用户,然后重新创建同名用户,然后再吧原来的数据指定给新创建的用户,最后这个问题就解决了。
- #如果已有用户,清除掉
- userdel sftp1
- rm -rf /home/sftp1
- rm -rf /var/spool/mail/sftp1
-
- #新建sftp组、具体用户sftp1
- groupadd sftp
- adduser sftp1
- useradd -G sftp -s /sbin/nologin sftp1
- passwd 123456@sftp1
-
-
-
- #修改ssh配置文件
- vi /etc/ssh/sshd_config
-
- 找到如下这行,用#符号注释掉。
- #Subsystem sftp /usr/libexec/openssh/sftp-server
-
- Subsystem sftp internal-sftp
- UsePAM yes
-
- #用chroot将用户的根目录指定到%h,%h代表用户home目录,这样用户 就只能在用户目录下活动。也可用%u,%u代表用户名
- ChrootDirectory /data/sftp/%u
- ForceCommand internal-sftp
- AllowTcpForwarding no
- X11Forwarding no
-
- #设定Chroot目录权限(必须),用户目录以及组目录以及数据根目录都要设置为755 权限,不要太高,否则可能报Permission denied的异常
-
- mkdir -p /data/sftp/sftp1
- chown root:root /data/sftp/sftp1
- chmod 755 /data -R
-
- #建立SFTP用户登入后可写入的目录upload
- mkdir /data/sftp/sftp1/upload
- chown sftp1 /data/sftp/sftp1/upload
- #给upload以及下级文件授权777,否则可能报Permission denied的异常
- chmod 777 /data/sftp/sftp1/upload -R
-
- #重启ssh
- service sshd restart
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。