在CentOS系统中配置SFTP(SSH File Transfer Protocol)时,有几个关键参数需要注意。以下是一些常见的配置参数及其说明:
Port:指定SFTP服务器监听的端口号,默认是22。
PermitRootLogin:控制root用户是否可以通过SFTP登录。通常设置为no以提高安全性。
PasswordAuthentication:控制是否允许通过密码进行身份验证。为了提高安全性,可以设置为no并使用SSH密钥认证。
ChallengeResponseAuthentication:控制是否允许挑战响应认证。通常设置为no。
UsePAM:控制是否使用Pluggable Authentication Modules (PAM)进行身份验证。通常设置为yes。
Subsystem sftp:指定SFTP子系统的配置。通常设置为internal-sftp。
Match Group:用于对特定用户组进行配置。例如,可以为特定用户组设置不同的权限。
ChrootDirectory:用于将用户的根目录限制在特定目录中,以提高安全性。例如,ChrootDirectory %h会将用户的根目录限制在其主目录中。
ForceCommand:强制用户执行的命令。例如,可以设置为internal-sftp来强制使用SFTP。
AllowTcpForwarding 和 X11Forwarding:控制是否允许TCP和X11转发。为了提高安全性,通常设置为no。
以下是一个示例配置:
# /etc/ssh/sshd_config
# 监听端口
Port 22
# 不允许root登录
PermitRootLogin no
# 使用密钥认证
PasswordAuthentication no
ChallengeResponseAuthentication no
# 使用PAM
UsePAM yes
# SFTP子系统
Subsystem sftp internal-sftp
# 对特定用户组进行配置
Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no
在这个示例中,我们配置了SFTP服务器监听端口为22,不允许root登录,使用密钥认证,禁用了挑战响应认证和PAM,设置了SFTP子系统,并对特定用户组sftpusers进行了配置,限制了他们的根目录并强制使用SFTP。
请根据实际需求调整这些参数,并确保在生产环境中使用适当的安全措施。