centos

在CentOS上如何使用SFTP传输文件

小樊
45
2025-09-22 05:07:36
栏目: 智能运维

在CentOS上使用SFTP(SSH File Transfer Protocol)传输文件,可以按照以下步骤操作:

1. 安装OpenSSH服务器

首先,确保你的CentOS系统上已经安装了OpenSSH服务器。如果没有安装,可以使用以下命令进行安装:

sudo yum install openssh-server

2. 启动并启用SSH服务

安装完成后,启动SSH服务并设置为开机自启:

sudo systemctl start sshd
sudo systemctl enable sshd

3. 配置防火墙

如果你的CentOS系统上启用了防火墙(firewalld),需要允许SSH连接:

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

4. 使用SFTP客户端连接

你可以使用多种SFTP客户端连接到服务器,例如FileZilla、WinSCP或命令行工具ssh

使用命令行工具ssh

打开终端,使用以下命令连接到服务器:

sftp username@hostname

其中:

连接成功后,你会看到一个提示符,类似于:

sftp>

使用FileZilla

  1. 打开FileZilla。
  2. 在“主机”栏输入服务器的IP地址或域名。
  3. 在“协议”栏选择“SFTP - SSH File Transfer Protocol”。
  4. 输入用户名和密码。
  5. 点击“快速连接”按钮。

5. 传输文件

连接成功后,你可以使用以下命令在本地和远程系统之间传输文件:

上传文件到服务器

put localfile remotefile

从服务器下载文件

get remotefile localfile

列出远程目录内容

ls

切换远程目录

cd directory

退出SFTP会话

bye

6. 配置SFTP用户权限

如果你希望限制某些用户只能使用SFTP而不能使用SSH shell,可以编辑/etc/ssh/sshd_config文件:

sudo vi /etc/ssh/sshd_config

找到并修改以下行:

Subsystem sftp /usr/libexec/openssh/sftp-server
Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

然后创建一个用户组sftpusers并将需要限制的用户添加到该组:

sudo groupadd sftpusers
sudo usermod -aG sftpusers username

最后,重启SSH服务以应用更改:

sudo systemctl restart sshd

通过以上步骤,你可以在CentOS上使用SFTP安全地传输文件。

0
看了该问题的人还看了