温馨提示×

SFTP安全证书如何配置

小樊
34
2025-03-06 21:36:44
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

SFTP(SSH File Transfer Protocol)是一种用于文件访问、文件传输和文件管理的安全文件传输协议,它建立在SSH协议的基础之上,提供了一个加密的、安全的通道来传输文件。以下是配置SFTP安全证书的步骤:

安装和配置OpenSSH服务器

  • 在Linux系统中,首先需要确保系统已安装OpenSSH。可以使用以下命令进行安装:

    • 对于基于Debian的系统(如Ubuntu):
      sudo apt-get update
      sudo apt-get install openssh-server
      
    • 对于基于RPM的系统(如CentOS、Fedora):
      sudo yum install openssh-server
      
  • 安装完成后,可以通过以下命令查看是否成功安装:

    ssh -V
    

创建SFTP用户和用户组

  • 创建一个新的用户并添加到SFTP组中:
    sudo groupadd sftp
    sudo useradd -g sftp -s /sbin/nologin mysftp
    
  • 为新用户设置密码:
    sudo passwd mysftp
    

配置用户的家目录

  • 创建用户家目录并设置为 Chroot 目录:
    sudo mkdir -p /data/sftp/mysftp
    sudo usermod -d /data/sftp/mysftp mysftp
    
  • 设置目录权限:
    sudo chown root:sftp /data/sftp/mysftp
    sudo chmod 755 /data/sftp/mysftp
    

配置SSH配置文件

  • 编辑SSH配置文件 /etc/ssh/sshd_config
    sudo nano /etc/ssh/sshd_config
    
  • 在文件末尾添加以下内容:
    Subsystem sftp internal-sftp
    Match Group sftp
      ChrootDirectory /data/sftp/%u
      ForceCommand internal-sftp
      AllowTcpForwarding no
      X11Forwarding no
    
  • 保存并关闭文件。

配置公钥认证

  • 生成SSH密钥对(如果还没有的话):
    ssh-keygen -t rsa -b 4096
    
  • 将公钥添加到服务器的 authorized_keys 文件中:
    cat ~/.ssh/id_rsa.pub | sudo tee -a /etc/ssh/authorized_keys
    
  • 修改SSH配置文件以启用公钥认证:
    sudo nano /etc/ssh/sshd_config
    
  • 找到以下行并进行相应的更改:
    PubkeyAuthentication yes
    PasswordAuthentication no
    
  • 保存并退出编辑器。
  • 重启SSH服务以应用更改:
    sudo systemctl restart sshd
    

验证SFTP连接

  • 使用以下命令测试SFTP连接:
    sftp mysftp@localhost
    
  • 输入密码后,应该能够访问SFTP环境。

以上步骤涵盖了在Linux系统上安装、配置SFTP服务并使用公钥认证的基本流程。通过这些步骤,可以确保SFTP连接是安全的,并且用户只能通过SFTP访问其主目录。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:CentOS SFTP证书如何配置

0