sftp:ssh linux broken pipe,Connection Reset by Peer, bad ownership or modes for chroot directory "*"

修改一通令人绝望…

虽然不知道怎么回事,冰河姐姐我和搞的时候没改/etc/ssh/sshd_config里的东西好像那天也登陆了…

搜索了半天,发现一个很好的命令
tail -f /var/log/auth.log

发现bad ownership or modes for chroot directory “/var/www”

于是先

ChrootDirectory /home/sftplinker
# 把根目录从/var/www改为/home/sftplinker
PasswordAuthentication yes
# 把密码验证开启

然后根据这个CentOS的ssh sftp配置及权限设置
我们的sftplinker所属用户组为root,sftplink,所以修改根目录的权限

chown -R root:sftplink /home/sftplinker
chmod -R 755 /home/sftplinker

修改命令说:root表示所属用户为root,所属用户组为sftplink

错误的目录权限设定会导致在log中出现”fatal: bad ownership or modes for chroot directory XXXXXX”的内容
目录的权限设定有两个要点:
1、由ChrootDirectory指定的目录开始一直往上到系统根目录为止的目录拥有者都只能是root
2、由ChrootDirectory指定的目录开始一直往上到系统根目录为止都不可以具有群组写入权限

然后可以在服务器上测试sftp sftplinker@localhost,发现登陆上了,耶.

事情还没结束,
sftp提醒我

Uploading “C:\ubuntu\www\index.php” to “/www/index.php” … failure (Permission denied)

这显然是文件权限问题,我以前设置sftp的时候就碰到过几次,一波三折…

修改/home/sftplinker的权限是肯定不行的,但是系统没有限制从/home/sftplinker/.的权限.

于是继续修改

chown -R sftplinker:sftplink  /home/sftplinker/www
chmod -R 775  /home/sftplinker/www

Uploading “C:\ubuntu\www\index.php” to “/www/index.php” … success

ww

说来也是很有趣,上面所有的设置缺一不可.我们试了无数的组合就是没能全部设置好.

你可能感兴趣的:(linux,sftp,linux,sftp)