在CentOS上配置SFTP加密传输,可以通过以下步骤实现:
首先,确保你的CentOS系统上已经安装了OpenSSH服务器。如果没有安装,可以使用以下命令进行安装:
sudo yum install openssh-server
安装完成后,启动SSH服务并设置为开机自启动:
sudo systemctl start sshd
sudo systemctl enable sshd
编辑SSH配置文件 /etc/ssh/sshd_config,确保以下配置项正确设置:
# 允许SFTP子系统
Subsystem sftp /usr/libexec/openssh/sftp-server
# 禁止root用户直接登录
PermitRootLogin no
# 使用公钥认证
PubkeyAuthentication yes
# 允许使用密码认证(可选)
PasswordAuthentication yes
# 限制用户登录
AllowUsers your_username
将 your_username 替换为你希望允许登录的用户名。
保存并关闭配置文件后,重启SSH服务以应用更改:
sudo systemctl restart sshd
确保防火墙允许SSH连接。如果你使用的是 firewalld,可以添加以下规则:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
如果你的系统启用了SELinux,可能需要调整相关策略以允许SFTP连接。你可以临时禁用SELinux进行测试:
sudo setenforce 0
或者,你可以配置SELinux策略以允许SFTP连接。编辑 /etc/selinux/config 文件,将 SELINUX=enforcing 改为 SELINUX=permissive,然后重启系统。
使用SFTP客户端连接到你的服务器,确保一切配置正确:
sftp your_username@your_server_ip
如果一切正常,你应该能够成功连接到服务器并进行文件传输。
SFTP本身已经提供了加密传输的功能,因为它基于SSH协议。确保你的SSH配置文件中没有禁用加密相关的选项。
通过以上步骤,你应该能够在CentOS上成功配置SFTP加密传输。