1 SFTP是SSH的一部分是ssh的一个组件,没有单独的端口,默认使用SSH的端口号22;不需要安装任何rpm包,ssh系统自带SFTP
2
SFTP速度慢于FTP但是FTP需要装包
CentOS 7 配置SFTP
目前越来越多的FTP客户端软件开始支持SSH协议上传和下载文件,这种协议方式就是SFTP。
SFTP的优势主要有两点,一是不需要再配置个FTP服务端;二是SSH协议是安全传输,上传和下载是经过加密的。
下面介绍下在最常用的服务器系统 CentOS Linux 7 上配置 SFTP 的方式!
一、sftp 安装
第一步:创建sftp服务用户组,创建sftp服务根目录:
1 2 3 4 |
groupadd sftp
#此目录及上级目录的所有者(owner)必须为root,权限不高于755,此目录的组最好设定为sftp
chown -R root / var /sftp
chmod -R 755 / var /sftp
|
第二步:创建sftp服务用户:
#添加用户 使用参数 -s /sbin/nologin禁止用户通过命令行登录 useradd -g sftp -d /home/sftp/silent -s /sbin/nologin silent
第三步:为sftp服务用户添加密码
passwd silent
第四步:配置sshd_config:
vim /etc/ssh/sshd_config 注释掉下面这一行: Subsystem sftp /usr/libexec/openssh/sftp-server
在sshd_config最后加入下面这几行:
Subsystem sftp internal-sftp Match Group sftp ChrootDirectory /home/sftp/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
注:这里要注意一下,上面这些代码务必放在最后,因为必须要“UseDNS no”后面
第五步:重启sshd:
systemctl restart sshd
现在可以正常连接了,但是可能还有个问题,就是无法上传,于是我们需要设置下写入权限:
chown root -R /var/sftp/silent chmod -R 755 /var/sftp/silent
二、sftp 简单操作
测试
sftp silent@127.0.0.1 silent@127.0.0.1's password:
我不生产知识 我只是知识的搬运工