更新时间:2024-12-06 GMT+08:00
搭建SFTP
简介
SFTP(Secure File Transfer Protocol)是一种用于安全访问、传输和管理大文件和敏感数据的网络协议,它通过SSH协议运行,能够支持SSH完整的安全和身份验证功能。本教程介绍如何在HCE 2.0上部署SFTP服务。
准备工作
- 准备一台ECS实例,并分配公网IP或者弹性公网IP(EIP)。
- 安全组的入方向规则已放行22端口。
操作步骤
- 配置SFTP服务。
- 执行如下命令创建sftp组。
groupadd sftp
- 执行如下命令,创建一个用户,用户登录SFTP服务。
useradd -g sftp -s /bin/false usftp
- 执行如下命令为上述新用户设置密码。
passwd usftp
- 执行如下命令为sftp用户组创建home目录。
mkdir -p /data/sftp/usftp
- 执行如下命令修改usftp用户登入时的目录。
usermod -d /data/sftp/usftp usftp
- 打开/etc/ssh/sshd_config文件,找到以下参数进行配置。
Subsystem sftp internal-sftp # 在文件末尾添加如下配置: Match user usftp # 匹配usftp用户 AllowTcpForwarding no # 不允许转发TCP协议 X11Forwarding no # 不允许进行 X11 转发 # 使用chroot将用户根目录指定到/data/sftp/%u,%u代表用户名 ChrootDirectory /data/sftp/ ForceCommand internal-sftp # 强制执行内部sftp
- 执行如下命令,创建测试文件。
touch /data/sftp/usftp/test.txt
- 依次执行如下命令设置目录权限。
chown -R usftp:sftp /data/sftp/usftp chmod 755 /data/sftp/usftp
- 执行如下命令创建sftp组。
- 验证。
- 在另外一台机器上,输入以下命令连接上述SFTP服务。
sftp usftp@<SFTP服务公网IP>
- 输入密码后执行ls命令查看测试文件,效果如下图。
sftp> ls test.txt
- 在另外一台机器上,输入以下命令连接上述SFTP服务。