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根目录
1 | mkdir /data/sftpuser |
创建SFTP子目录
1 | mkdir /data/sftpuser/QA |
创建用户用户组
1 | useradd -d /data/sftpuser -M -s /sbin/nologin sftpuser # -d 指定家目录 -s 禁止登陆; -M 不创建家目录 |
给用户 sftpsftpuser 设置密码
1 | passwd sftpuser |
设置SFTP根目录和子目录用户权限(一定要设置)
1 2 3 4 5 6 7 | chown root.sftpuser /data/sftpuser chmod 755 /data/sftpuser chown -R sftpuser.sftpuser /data/sftpuser/QA chmod 755 /data/sftpuser/QA |
配置文件备份
修改敏感的配置文件前一定要先备份,就算后面修改错了,重启之后不能远程ssh服务器,还可以本地登陆或者web连接,还有得救。
1 | cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bak |
修改ssh配置文件 sshd_config
1 2 3 4 5 6 7 8 9 10 11 12 | 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服务
1 2 3 | systemctl restart sshd # 重启前一定药核对好配置文件,否则重启后可能会导致ssh连接不上。 |
验证
1 | sftp sftpuser@127.0.0.1 |
使用工具链接
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具