1、查看openssh的版本
ssh -v
使用ssh -v 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级。
2、配置 /etc/ssh/sshd_config
可配置选项: %u 代表用户名称 %h 代表家目录(未测试)
3、增加一个sftp用户组
groupadd sftpusers
4、增加用户
useradd -g sftpusers huadan
useradd -g sftpusers zhanghao
5、修改用户家目录及指定不能登录shell
usermod -s /bin/false -d /webserver/ftpdata/huadan -m huadan (suse 不运行登录 ssh 服务)
usermod -s /bin/false -d /webserver/ftpdata/zhanghao -m zhanghao
6、目录的权限设定有两个要点:
由ChrootDirectory指定的目录开始一直往上到系统根目录为止的目录拥有者都只能是root
由ChrootDirectory指定的目录开始一直往上到系统根目录为止都不可以具有群组写入权限最高权限设置 为755
如:
所以遵循以上两个原则
1)我们将 /webserver/ftpdata/zhanghao的所有者设置为了root,所有组设置为sftpusers
2)我们将 /webserver/ftpdata/zhanghao的权限设置为755,所有者root有写入权限,而所有组sftp无写入权限
7、建立SFTP用户登入后可写入的目录
照上面设置后,在重启sshd服务后,用户zhanghao已经可以登录,但使用chroot指定根目录后,根应该是无法写入的,所以要新建一个目录供data上传文件。这个目录所有者为huadan,所有组为sftpusers,所有者有写入权限,而所有组无写入权限
登录测试:
sftp huadan@192.168.80.171