确保CentOS系统上的SFTP(SSH File Transfer Protocol)安全配置是至关重要的,以下是一些关键步骤和最佳实践:
sudo yum install openssh-server
/etc/ssh/sshd_config
,确保以下配置项被正确设置:
PermitRootLogin no
PasswordAuthentication no
PermitEmptyPassword no
PermitUserEnvironment no
X11Forwarding no
sudo systemctl restart sshd
sudo useradd -m sftpuser
sudo passwd sftpuser
sftp
用户组:sudo usermod -a -G sftpusers sftpuser
chrootDirectory
选项将用户限制在其家目录中,防止他们访问系统其他部分。Match group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
sudo systemctl restart sshd
.ssh
目录,并在其中创建 authorized_keys
文件,用于存储用户的公钥。mkdir /home/sftpuser/.ssh
chmod 700 /home/sftpuser/.ssh
touch /home/sftpuser/.ssh/authorized_keys
chmod 600 /home/sftpuser/.ssh/authorized_keys
AllowTcpForwarding no
X11Forwarding no
sudo firewall-cmd --zone=public --permanent --add-port=22/tcp
sudo firewall-cmd --reload
/etc/login.defs
文件来强制执行这些要求:PASS_MIN_LEN 10