当前位置:首页 > Centos > 正文

CentOS SFTP命令详解(安全FTP入门与实战指南)

在日常的服务器运维中,安全地传输文件至关重要。SFTP(Secure File Transfer Protocol,安全文件传输协议)基于SSH协议,提供了加密的数据传输通道,是替代传统FTP的安全选择。本文将手把手教你如何在 CentOS 系统中使用 SFTP 命令进行安全文件传输,即使你是 Linux 小白也能轻松上手。

CentOS SFTP命令详解(安全FTP入门与实战指南) SFTP命令 安全FTP教程 SFTP文件传输 Linux SFTP配置 第1张

什么是 SFTP?

SFTP 并不是 FTP 的安全版本,而是通过 SSH 协议建立的文件传输服务。它使用端口 22(与 SSH 相同),所有数据(包括用户名、密码和文件内容)都经过加密,有效防止中间人攻击和数据泄露。

前提条件

  • 一台运行 CentOS 7/8/9 的服务器(或本地虚拟机)
  • 已安装并启用 OpenSSH 服务(CentOS 默认已安装)
  • 一个具有登录权限的用户账号

第一步:确认 SSH 服务正在运行

SFTP 依赖于 SSH 服务,因此首先要确保 sshd 服务处于运行状态:

sudo systemctl status sshd  

如果未运行,请启动并设置开机自启:

sudo systemctl start sshdsudo systemctl enable sshd  

第二步:使用 SFTP 命令连接远程服务器

在本地终端(Linux/macOS)或使用支持 SFTP 的客户端(如 Windows 的 WinSCP 或命令行工具)中执行以下命令:

sftp username@server_ip  

例如,如果你的用户名是 centos,服务器 IP 是 192.168.1.100,则输入:

sftp centos@192.168.1.100  

系统会提示你输入密码。验证成功后,你会看到 SFTP 提示符:

sftp>  

第三步:常用 SFTP 命令操作

进入 SFTP 会话后,你可以使用以下常用命令进行文件管理:

  • 查看本地目录lcdlpwd
  • 查看远程目录lspwd
  • 上传文件put local_file remote_path
  • 下载文件get remote_file local_path
  • 退出 SFTPexitquit

例如,将本地的 report.pdf 上传到远程服务器的 /home/centos/documents/ 目录:

sftp> put report.pdf /home/centos/documents/  

从远程服务器下载 backup.zip 到本地当前目录:

sftp> get /home/centos/backup.zip .  

第四步:提高安全性(可选但推荐)

为了进一步增强 安全FTP 的安全性,建议:

  • 禁用 root 用户直接登录 SFTP
  • 使用 SSH 密钥认证代替密码
  • 限制特定用户只能使用 SFTP(不能执行 shell 命令)

例如,在 /etc/ssh/sshd_config 中添加以下配置,可创建仅限 SFTP 的用户组:

Match Group sftpusers    ChrootDirectory /sftp/%u    ForceCommand internal-sftp    AllowTcpForwarding no    X11Forwarding no  

然后创建用户并加入该组:

sudo groupadd sftpuserssudo useradd -g sftpusers -s /sbin/nologin -d /sftp/secureuser secureusersudo passwd secureuser  

总结

通过本教程,你已经掌握了在 CentOS 系统中使用 CentOS SFTP命令 进行安全文件传输的基本方法。无论是上传配置文件、下载日志,还是批量同步数据,SFTP 都是一个可靠且安全的选择。记住,始终优先使用加密协议(如 SFTP)而非明文协议(如 FTP),以保护你的服务器和数据安全。

希望这篇 安全FTP教程 对你有所帮助!如果你正在搭建自动化部署或远程备份系统,掌握 SFTP文件传输Linux SFTP配置 是必不可少的基础技能。