背景:使用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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)