域名 | 2025-02-27
SFTP(Secure File Transfer Protocol)是 SSH(Secure Shell)协议的一个组成部分,主要用于提供安全的文件传输服务。下面介绍其具体使用。
SFTP 概述:
与传统 FTP 相比,SFTP 不仅加密数据本身,还加密控制命令,全面保护传输过程中的信息安全。其优势在于强大的安全特性,包括数据加密(保护传输中的敏感信息)、身份验证(确保只有授权用户才能访问资源)、日志记录(便于监控和审计操作行为),在企业环境中广泛应用。
SFTP 工作原理:核心是利用 SSH 协议的安全机制 。具体步骤如下:
1.建立 SSH 连接:客户端发起连接请求,与服务器建立安全隧道。
2.数据加密:所有传输的数据经过 SSH 层加密处理。
3.保障完整性和机密性:加密过程同时保护数据免受篡改和窃听。
4.断点续传:支持文件传输中断后的恢复,提高传输效率。
SFTP 远程连接配置:
-服务器端配置:
1.安装 OpenSSH 软件包:Ubuntu /Debian 系统使用sudo apt-get install openssh-server;CentOS /Red Hat 系统使用sudo yum install openssh-server。
2.配置 OpenSSH 服务器:编辑 OpenSSH 配置文件sudo vi /etc/ssh/sshd_config ,关键配置项有端口号(可根据需求修改,默认为 22)、禁止 root 登录(设置PermitRootLogin no)、启用 SFTP 子系统(取消注释Subsystem sftp internal-sftp)。
3.设置 SFTP 用户权限:使用Match指令限定特定用户组的访问权限,如Match Group sftp ChrootDirectory /data/sftp/%u ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no,ChrootDirectory指令将用户限制在其主目录内,提高安全性。
4.权限设置:Chroot 目录权限应归 root 所有,且仅 root 可写;用户可写目录需为 SFTP 用户组可读。示例命令chown root:sftp /data/sftp/sftpuser chmod 755 /data/sftp/sftpuser。
5.重启 OpenSSH 服务:配置完成后,使用sudo systemctl restart sshd使更改生效。
-客户端配置:
-WinSCP:Windows 平台 SFTP 客户端,安装简单,下载安装包按提示操作即可。配置时,打开 WinSCP 点击 “新建” 创建新的 SFTP 会话,在对话框中输入协议(选择 "SFTP")、主机(SFTP 服务器的 IP 地址或域名)、端口(通常为 22,除非服务器端配置了其他端口)、登录(用户名和密码)。还可设置会话名称(便于识别)和保存密码(方便后续自动登录) ,点击 “保存” 按钮,新的 SFTP 会话将被添加到会话管理器中。
-Xftp:功能强大,适合管理多个会话的用户。安装时下载安装包运行,按向导提示完成安装。打开 Xftp 点击 “新建” 创建 SFTP 会话,输入协议(选择 "SFTP")、主机(服务器 IP 或域名)、端口(默认 22)、用户名和密码。也可设置会话名称和是否保存密码,点击 “确定” 完成配置。这两种工具都支持拖放操作和批量传输,还支持高级功能如断点续传和文件同步,建议启用密钥认证功能提高安全性,即在客户端生成公钥 / 私钥对,并将公钥上传到服务器端。
SFTP 远程管理操作:
-文件传输:
-命令行操作:常用命令有 put(上传文件,如sftp> put local_file.txt remote_file.txt)、get(下载文件,如sftp> get remote_file.txt local_file.txt)、rm(删除远程文件,如sftp> rm remote_file.txt);目录操作有 put -r(递归上传目录)。
-图形界面操作:使用 WinSCP 或 Xftp 时,通过简单的拖放操作即可完成文件上传、下载和删除。
拓展阅读:
-什么是 SSH 协议?SSH 协议是建立在应用层和传输层基础上的安全协议。
-如何生成公钥 / 私钥对?在终端使用 ssh-keygen 命令生成。
-如何查看服务器的端口占用情况?使用 netstat 命令查看。