centos

CentOS SFTP如何配置安全访问

小樊
43
2025-04-24 20:05:22
栏目: 智能运维

在CentOS上配置SFTP(SSH File Transfer Protocol)的安全访问,可以通过以下步骤来实现:

1. 安装OpenSSH服务器

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

sudo yum install openssh-server

2. 配置SSH服务器

编辑SSH配置文件 /etc/ssh/sshd_config 来启用和配置SFTP。

sudo vi /etc/ssh/sshd_config

在文件中找到并修改以下行:

# 默认情况下,SFTP子系统是启用的
Subsystem sftp /usr/libexec/openssh/sftp-server

# 禁用root登录
PermitRootLogin no

# 只允许特定用户通过SSH登录
AllowUsers your_username

# 限制用户的shell为/bin/false或/nologin,以防止直接登录
Match User your_username
    ForceCommand internal-sftp
    PasswordAuthentication yes

your_username 替换为你希望允许通过SFTP访问的用户名。

3. 重启SSH服务

保存并退出编辑器后,重启SSH服务以应用更改:

sudo systemctl restart sshd

4. 配置防火墙

确保防火墙允许SSH连接。如果你使用的是firewalld,可以添加一个规则来允许SSH端口(默认是22):

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

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

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

5. 使用密钥认证(可选但推荐)

为了提高安全性,建议使用SSH密钥认证而不是密码认证。

生成SSH密钥对

在客户端生成SSH密钥对:

ssh-keygen -t rsa -b 4096

按照提示操作,生成的密钥对通常位于 ~/.ssh/id_rsa(私钥)和 ~/.ssh/id_rsa.pub(公钥)。

将公钥复制到服务器

将公钥复制到服务器的 ~/.ssh/authorized_keys 文件中:

ssh-copy-id your_username@your_server_ip

输入服务器用户的密码后,公钥将被添加到 authorized_keys 文件中。

6. 测试SFTP连接

现在,你可以使用SFTP客户端连接到服务器进行测试:

sftp your_username@your_server_ip

如果一切配置正确,你应该能够成功连接并进行文件传输。

通过以上步骤,你可以在CentOS上配置一个安全的SFTP访问环境。

0
看了该问题的人还看了