centos7 SFTP 部署
SFTP简介
sftp是一种安全的文件传送协议,是ssh内含协议,也就是说只要sshd服务器启动了,sftp就可使用,不需要额外安装,它的默认端口和SSH一样为22。
FTP和SFTP的区别
1.链接方式:FTP使用TCP端口21上的控制连接建立连接。而SFTP是在客户端和服务器之间通过SSH协议(TCP端口22)建立的安全连接来传输文件。
2.安全性:SFTP使用加密传输认证信息和传输的数据,所以使用SFTP相对于FTP是非常安全。
3.效率:SFTP这种传输方式使用了加密解密技术,所以传输效率比普通的FTP要低一点。
示例:
创建用户名为: sftpuser 的sftp账户
他的家目录是: /data/sftpuser
家目录下有一个QA的子目录
创建SFTP根目录
mkdir /data/sftpuser
创建SFTP子目录
mkdir /data/sftpuser/QA
创建用户用户组
useradd -d /data/sftpuser -M -s /sbin/nologin sftpuser # -d 指定家目录 -s 禁止登陆; -M 不创建家目录
给用户 sftpsftpuser 设置密码
passwd sftpuser
设置SFTP根目录和子目录用户权限(一定要设置)
chown root.sftpuser /data/sftpuser chmod 755 /data/sftpuser chown -R sftpuser.sftpuser /data/sftpuser/QA chmod 755 /data/sftpuser/QA
配置文件备份
修改敏感的配置文件前一定要先备份,就算后面修改错了,重启之后不能远程ssh服务器,还可以本地登陆或者web连接,还有得救。
cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
修改ssh配置文件 sshd_config
vim /etc/ssh/sshd_config 注释掉: # Subsystem sftp /usr/libexec/openssh/sftp-server 在末尾添加 Subsystem sftp internal-sftp Match Group sftpuser X11Forwarding no AllowTcpForwarding no ChrootDirectory /data/sftpuser ForceCommand internal-sftp
重启ssh服务
systemctl restart sshd # 重启前一定药核对好配置文件,否则重启后可能会导致ssh连接不上。
验证
sftp sftpuser@127.0.0.1
使用工具链接