centos

SFTP在CentOS上如何使用

小樊
44
2025-07-10 16:18:02
栏目: 智能运维

在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. 配置防火墙

确保防火墙允许SSH连接。如果使用的是firewalld,可以添加相应的规则:

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

如果使用的是iptables,可以添加如下规则:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

4. 创建SFTP用户

为了安全起见,建议为SFTP创建一个专用用户,并限制其权限。

创建新用户

sudo adduser sftpuser

设置密码

sudo passwd sftpuser

配置用户的家目录和权限

编辑/etc/passwd文件,将用户的默认shell改为/sbin/nologin/bin/false,以防止用户通过SSH登录:

sudo usermod -s /sbin/nologin sftpuser

或者直接编辑/etc/shells文件,删除或注释掉用户的shell路径,然后重新登录用户。

5. 配置SFTP子系统

编辑/etc/ssh/sshd_config文件,添加或修改以下内容以启用SFTP子系统:

Subsystem sftp internal-sftp
Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

6. 创建SFTP用户组并添加用户

创建一个新的用户组sftpusers,并将sftpuser添加到该组:

sudo groupadd sftpusers
sudo usermod -aG sftpusers sftpuser

7. 重启SSH服务

应用配置更改后,重启SSH服务:

sudo systemctl restart sshd

8. 测试SFTP连接

现在,你可以使用SFTP客户端连接到你的CentOS服务器。例如,使用命令行SFTP客户端:

sftp sftpuser@your_server_ip

输入密码后,你应该能够连接到服务器并进行文件传输。

注意事项

通过以上步骤,你可以在CentOS上成功配置和使用SFTP。

0
看了该问题的人还看了