程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

centos7 部署SFTP

balukai 2025-08-06 18:45:17 文章精选 2 ℃

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

使用工具链接

浏览器输入网址:
https://filezilla-project.org/download.php?type=client#close下载filezilla后安装,然后输入主机地址、用户名、密码还有端口如图1-1所示,得出如图1-2所示结果

最近发表
标签列表