在CentOS系统上配置SFTP(Secure File Transfer Protocol)服务时,有几个关键点是需要注意的,以确保服务器的安全性和稳定性。以下是配置CentOS SFTP时的一些关键点:
确保你的CentOS系统是最新的,并安装OpenSSH服务器。
sudo yum update -y
sudo yum install openssh-server -y
编辑SSH服务的主配置文件 /etc/ssh/sshd_config
。确保以下配置项已经启用(删除或注释掉前面的 #
):
PubkeyAuthentication yes
:启用公钥认证,禁用密码认证。PasswordAuthentication no
:如果需要允许密码认证,可以取消注释此行。sudo vi /etc/ssh/sshd_config
为每个需要使用SFTP的用户创建一个目录,并设置适当的权限。
sudo useradd -m sftpuser1
sudo passwd sftpuser1
sudo mkdir /home/sftpuser1
sudo chown sftpuser1:sftpuser1 /home/sftpuser1
sudo chmod 755 /home/sftpuser1
如果你的CentOS系统启用了SELinux,可能需要调整相关策略以允许SFTP访问。
sudo setsebool -P sftp_home_dir on
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/home/sftpuser1(/.*)?"
sudo restorecon -Rv /home/sftpuser1
保存并退出配置文件后,重启SSH服务以应用更改。
sudo systemctl restart sshd
你可以使用 sftp
命令测试连接,或者使用文件管理器(如FileZilla)进行连接。
sftp sftpuser1@your_server_ip
确保防火墙允许SSH连接(默认端口22)。
sudo firewall-cmd --zone=public --permanent --add-port=22/tcp
sudo firewall-cmd --reload
/etc/ssh/sshd_config
文件,将 PermitRootLogin
设置为 no
,并重启SSH服务。Match User
或 Match Group
指令在 /etc/ssh/sshd_config
文件中限制用户只能访问其主目录。X11Forwarding no
。/etc/ssh/sshd_config
文件中启用了内部SFTP子系统,如 Subsystem sftp internal-sftp
。/var/log/secure
文件,以便及时发现并响应任何可疑活动。