【Linux 技术专题系列】「必备基础知识」一起探索和实践 sftp 配置之密钥方式登录
FTP 服务-vsftp 协议实现
我们常用的是 FTP 协议,主要是通过 VSFTP 是一个基于 GPL 发布的类 Unix 系统上使用的 FTP 服务器软件,它的全称是 Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。
SFTP 服务-ssh 协议实现
由于 vsftp 采用明文传输,用户名密码可通过抓包得到,为了安全性,需使用 sftp,锁定目录且不允许 sftp 用户登到服务器。由于 sftp 使用的是 ssh 协议,需保证用户只能使用 sftp,不能 ssh 到机器进行操作,且使用密钥登陆、不是 22 端口。
创建 sftp 服务用户组,创建 sftp 服务根目录,通过 groupadd 指令进行创建对应的 sftp 服务用户组。
常见对应的 sftp 服务器的目录地址。
此目录及上级目录的所有者必须为 root,权限不高于 755,此目录的组最好设定为 sftp
备份 sshd_config 配置文件
修改 sshd 配置文件
保证原来 22 端口可以
注释掉/etc/ssh/sshd_config 文件中的此行代码:
添加如下代码:
凡是在用户组 sftp 里的用户,都可以使用 sftp 服务;使用 sftp 服务连接上之后,可访问目录为/data/sftp/username
案例说明
test 是一个 sftp 组的用户,它通过 sftp 连接服务器上之后,只能看到/data/sftp/test 目录下的内容
test2 也是一个 sftp 组的用户,它通过 sftp 连接服务器之后,只能看到/data/sftp/test2 目录下的内容
创建 sftp 用户,此例将创建一个名称为 test 的 sftp 帐号
#创建 test sftp 家目录:test 目录的所有者必须是 root,组最好设定为 sftp,权限不高于 755
创建 test 用户密钥对:
在 test 目录下创建一个可以写的 upload 目录
注:sftp 服务的根目录的所有者必须是 root,权限不能超过 755(上级目录也必须遵循此规则),sftp 的用户目录所有者也必须是 root,且最高权限不能超过 755。
测试 sftp
版权声明: 本文为 InfoQ 作者【洛神灬殇】的原创文章。
原文链接:【http://xie.infoq.cn/article/d0da19577ff4ccca031f897ed】。文章转载请联系作者。
评论