centos

如何在CentOS上配置SFTP服务

小樊
50
2025-07-14 17:43:04
栏目: 智能运维

在CentOS上配置SFTP服务通常涉及以下几个步骤:

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

    sudo yum install openssh-server
    
  2. 启动并启用SSH服务: 安装完成后,启动SSH服务并设置开机自启动:

    sudo systemctl start sshd
    sudo systemctl enable sshd
    
  3. 配置SSH服务: 编辑SSH配置文件 /etc/ssh/sshd_config,确保以下配置项正确设置:

    Port 22  # 默认端口,可以根据需要更改
    Protocol 2
    HostKey /etc/ssh/ssh_host_rsa_key
    HostKey /etc/ssh/ssh_host_dsa_key
    HostKey /etc/ssh/ssh_host_ecdsa_key
    HostKey /etc/ssh/ssh_host_ed25519_key
    UsePrivilegeSeparation sandbox
    KeyRegenerationInterval 3600
    ServerKeyBits 1024
    SyslogFacility AUTH
    LogLevel INFO
    LoginGraceTime 120
    PermitRootLogin no
    StrictModes yes
    RSAAuthentication yes
    PubkeyAuthentication yes
    IgnoreRhosts yes
    RhostsRSAAuthentication no
    HostbasedAuthentication no
    PermitEmptyPasswords no
    ChallengeResponseAuthentication no
    PasswordAuthentication yes
    X11Forwarding yes
    X11DisplayOffset 10
    PrintMotd no
    PrintLastLog yes
    TCPKeepAlive yes
    AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
    AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION
    AcceptEnv LC_ALL LANGUAGE
    Subsystem sftp /usr/libexec/openssh/sftp-server
    
  4. 配置SFTP用户限制: 如果你想限制某些用户使用SFTP,可以在 /etc/ssh/sshd_config 文件中添加或修改以下配置:

    Match User <username>
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    

    <username> 替换为你想要限制的用户名。

  5. 创建用户并设置密码: 创建一个新用户并设置密码:

    sudo adduser <username>
    sudo passwd <username>
    
  6. 重启SSH服务: 修改配置文件后,重启SSH服务以使更改生效:

    sudo systemctl restart sshd
    
  7. 测试SFTP连接: 使用SFTP客户端连接到你的服务器,确保配置正确:

    sftp <username>@<server_ip>
    

通过以上步骤,你应该能够在CentOS上成功配置SFTP服务。如果有任何问题,请检查SSH和SFTP服务的日志文件以获取更多信息。

0
看了该问题的人还看了