SFTP简介
sftp是一种安全的文件传送协议,是ssh内含协议,也就是说只要sshd服务器启动了,sftp就可使用,不需要额外安装,它的默认端口和SSH一样为22。
FTP和SFTP的区别
1.链接方式:FTP使用TCP端口21上的控制连接建立连接。而,SFTP是在客户端和服务器之间通过SSH协议(TCP端口22)建立的安全连接来传输文件。
2.安全性:SFTP使用加密传输认证信息和传输的数据,所以使用SFTP相对于FTP是非常安全。
3.效率:SFTP这种传输方式使用了加密解密技术,所以传输效率比普通的FTP要低得多。
创建SFTP根目录
mkdir /data/sftpuser
创建SFTP子目录
mkdir /data/sftpuser/danny
创建用户组sftp用户
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/danny chmod 755 /data/sftpuser/danny
修改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服务
service sshd restart
验证
sftp -P 21435 sftpuser@127.0.0.1