溫馨提示×

CentOS SFTP服務器搭建步驟

小樊
71
2025-04-20 18:59:16
欄目: 云計算

在CentOS系統上搭建SFTP服務器通常涉及安裝OpenSSH服務器,并對其進行相應的配置。以下是詳細的搭建步驟:

安裝OpenSSH服務器

確保你的CentOS系統已經安裝了OpenSSH服務器。如果沒有安裝,可以使用以下命令進行安裝:

sudo yum install openssh-server

啟動并啟用SSH服務

安裝完成后,啟動SSH服務,并設置其開機自啟:

sudo systemctl start sshd
sudo systemctl enable sshd

檢查SSH服務狀態

確保SSH服務正在運行,并且沒有錯誤:

sudo systemctl status sshd

創建SFTP用戶

假設我們要創建一個名為 sftpuser 的用戶,限制他只能訪問 /sftp 目錄,并且使用特定的SSH配置文件。

  1. 創建SFTP用戶:
sudo useradd -m -s /sbin/nologin sftpuser
  1. 設置用戶密碼:
sudo passwd sftpuser
  1. 創建用戶的SFTP根目錄:
sudo mkdir /sftp
  1. 設置根目錄的權限(根目錄必須是root用戶):
sudo chown root:root /sftp
sudo chmod 755 /sftp
  1. 在根目錄下創建子目錄,并設置寫入權限:
sudo mkdir /sftp/sharedata
sudo chown sftpuser:sftpuser /sftp/sharedata
  1. 創建新用戶的SSH配置文件目錄:
sudo mkdir /home/sftpuser/.ssh
  1. 復制系統SSH配置文件到用戶目錄:
sudo cp /etc/ssh/sshd_config /home/sftpuser/.ssh/sshd_config
  1. 編輯用戶的SSH配置文件:
sudo vi /home/sftpuser/.ssh/sshd_config

在配置文件中,添加以下配置:

Match User sftpuser
    ChrootDirectory /sftp
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

注意將這個配置節放到最后,否則會出現“Directive ‘UseDNS’ is not allowed within a Match block”的錯誤。

  1. 給新用戶的用戶目錄遞歸設置歸屬:
sudo chown -R sftpuser:sftpuser /home/sftpuser
  1. 給配置文件設置讀取權限:
sudo chmod 755 /home/sftpuser/.ssh/sshd_config
  1. 修改SSH服務啟動選項(可選):

如果你需要為多個用戶指定不同的配置,可以在SSH服務的啟動選項中指定這些文件。

sudo systemctl daemon-reload
sudo systemctl restart sshd

至此,你已經成功在CentOS上搭建了一個SFTP服務器,并且創建了一個受限訪問的SFTP用戶。你可以使用任何支持SFTP的客戶端(如WinSCP、FileZilla等)連接到服務器,并使用SSH協議(端口22)進行連接,確保使用具有適當權限的用戶憑據進行身份驗證。

配置防火墻

如果系統的防火墻開啟了FTP端口(默認為21),需要添加規則允許FTP流量通過防火墻。

使用以下命令添加FTP的防火墻規則:

sudo firewall-cmd --zone=public --permanent --add-port=21/tcp
sudo firewall-cmd --reload

額外的安全設置

為了提高服務器的安全性,可以考慮以下額外的安全設置:

  1. 禁用root登錄

    編輯 /etc/ssh/sshd_config 文件,找到以下行并注釋掉或修改為:

    PermitRootLogin no
    
  2. 更改SSH端口

    將SSH端口改為10000以上,以減少被自動掃描到的幾率。

    sudo vi /etc/ssh/sshd_config
    

    將以下行:

    Port 22
    

    改為:

    Port 10001
    
  3. 限制用戶訪問權限

    使用 chroot 將用戶限制在其主目錄中,防止用戶訪問其他系統目錄。

    sudo chroot_local_user=YES
    
  4. 關閉不必要的服務

    關閉不必要的服務以減少攻擊面。

    sudo systemctl stop sshd
    sudo systemctl disable sshd
    

通過以上步驟,你可以在CentOS系統上成功搭建一個安全的SFTP服務器。確保在進行任何配置更改后,都重新加載或重啟相應的服務以使更改生效。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女