在很多情况下,SFTP都比FTP更可取,因为它具有最基本的安全特性和能利用 SSH 连接的能力,FTP是一种不安全的协议,只能在有限的情况下或在您信任的网络上使用。
先决条件:
服务器 OpenSSH-Server 版本最低4.8p1,因为配置权限需要版本添加的新配置项 ChrootDirectory 来完成。
如何查看OpenSSH版本,命令如下:
$ ssh -V OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013登录后复制 创建用户信息
添加用户组: $ groupadd sftp 添加用户: $ useradd -g sftp -s /sbin/nologin -M userrenwolecom 参数注解: -g # 加入用户组 -s # 指定用户登入后所使用的shell /sbin/nologin # 用户不允许登录 -M # 不要自动建立用户的登入目录 设置用户密码: $ passwd userrenwolecom登录后复制 创建用户目录并设置权限
创建sftp主目录: $ mkdir /data/sftp 设置sftp主目录权限: $ chown root:sftp /data/sftp 文件夹所有者必须是root,用户组可以不是root。 $ chmod 744 /data/sftp 权限不能超过755但不包括755,否则会导致登录报错。登录后复制 创建上传目录并设置权限
在/data/sftp/主目录下创建uploads资料夹,并设置所有者是:userrenwolecom,用户组隶属:sftp,这样新增的帐号才能有上传编辑的权限。
$ mkdir -p /data/sftp/uploads $ chown userrenwolecom:sftp /data/sftp/uploads登录后复制 修改sshd_config配置文件
$ vim /etc/ssh/sshd_config 将此行注释掉,例如: #Subsystem sftp /usr/libexec/openssh/sftp-server 在此行下面添加如下内容: Subsystem sftp internal-sftp # 指定使用sftp服务使用系统自带的internal-sftp Match Group sftp # 匹配sftp组的用户,若要匹配多个组,可用逗号分开 ChrootDirectory /data/sftp/ # 限制用户的根目录 ForceCommand internal-sftp # 只能用于sftp登录 AllowTcpForwarding no # 禁止用户使用端口转发 X11Forwarding no # 禁止用户使用端口转发登录后复制 重启SSH服务
$ systemctl restart sshd登录后复制 测试是否能够登录、上传、下载等操作
在10.28.204.61服务器执行以下命令登录:
$ sftp -P 12012 userrenwolecom@10.28.204.62 userrenwolecom@10.28.204.62's password: packet_write_wait: Connection to 10.28.204.62 port 12012: Broken pipe Couldn't read packet: Connection reset by peer登录后复制
报错,此问题是由于/data/sftp 目录权限分配不当所致,将此目录的所有者更改为root即可,用户组可root/sftp。
再次测试连接:
$ sftp -P 12012 userrenwolecom@10.28.204.62 The authenticity of host '[10.28.204.62]:12012 ([10.28.204.62]:12012)' can't be established. ECDSA key fingerprint is SHA256:/YI/L4RT1QH7lkfxMCAkKnvniQslyUl15mOUKUo8K3k. ECDSA key fingerprint is MD5:6d:b6:f3:93:8e:48:53:24:9d:5d:c2:2a:5f:28:f4:d2. Are you sure you want to continue connecting (yes/no)? YES Warning: Permanently added '[10.28.204.62]:12012' (ECDSA) to the list of known hosts. userrenwolecom@10.28.204.62's password:【输入userrenwolecom用户密码回车】 Connected to 10.28.204.62. sftp>登录后复制
连接成功,现在测试上传一个文件到10.28.204.62服务器
上传 sftp> put /tmp/nginx_log_stat /uploads Uploading /tmp/nginx_log_stat to /uploads/nginx_log_stat /tmp/nginx_log_stat 下载 sftp> get uploads/nginx_log_stat /mnt Fetching /uploads/nginx_log_stat to /mnt/nginx_log_stat /uploads/nginx_log_stat 100q.1KB/s 00:00 sftp> 删除 sftp> rm /uploads/nginx_log_stat Removing /uploads/nginx_log_stat 更多命令请参阅: sftp> help登录后复制 小结:
在配置过程中遇到比较奇怪的问题,我将 sshd_config 配置文件中的 Match Group sftp 修改为 Match User userrenwolecom ,重启sshd后,当前终端不会断开,新建终端输入正确密码后会出现SSH登录闪退(自动关闭终端)问题,不管是用PUTTY还是Xshell均是如此,后来我将用户修改成组后就正常了,具体原因尚未可知,不过修改为组效果是一样的。如果你知道什么原因还请指教。
以上就是CentOS7 configuration uses the SFTP server的详细内容,更多请关注慧达安全导航其它相关文章!
免责 声明
1、本网站名称:慧达安全导航
2、本站永久网址:https//www.huida178.com/
3、本站所有资源来源于网友投稿和高价购买,所有资源仅对编程人员及源代码爱好者开放下载做参考和研究及学习,本站不提供任何技术服务!
4、本站所有资源的属示图片和信息不代表本站的立场!本站只是储蓄平台及搬运
5、下载者禁止在服务器和虚拟机下进行搭建运营,本站所有资源不支持联网运行!只允许调试,参考和研究!!!!
6、未经原版权作者许可禁止用于任何商业环境,任何人不得擅作它用,下载者不得用于违反国家法律,否则发生的一切法律后果自行承担!
7、为尊重作者版权,请在下载24小时内删除!请购买原版授权作品,支持你喜欢的作者,谢谢!
8.若资源侵犯了您的合法权益,请持 您的版权证书和相关原作品信息来信通知我们!QQ:1247526623我们会及时删除,给您带来的不便,我们深表歉意!
9、如下载链接失效、广告或者压缩包问题请联系站长处理
10、如果你也有好源码或者教程,可以发布到网站,分享有金币奖励和额外收入!
11、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需
12、因源码具有可复制性,一经赞助,不得以任何形式退款。
13、本文内容由网友自发贡献和站长收集,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系1247526623@qq.com
转载请注明出处: 慧达安全导航 » CentOS7 configuration uses the SFTP server
发表评论 取消回复