溫馨提示×

SFTP在Linux系統中如何配置

小樊
53
2025-06-15 18:02:16
欄目: 智能運維

在Linux系統中配置SFTP(SSH File Transfer Protocol)通常涉及以下幾個步驟:

1. 安裝OpenSSH服務器

首先,確保你的系統上已經安裝了OpenSSH服務器。大多數Linux發行版默認已經安裝了OpenSSH服務器,如果沒有,可以使用以下命令進行安裝:

sudo apt-get update
sudo apt-get install openssh-server  # Debian/Ubuntu
sudo yum install openssh-server      # CentOS/RHEL
sudo dnf install openssh-server      # Fedora

2. 配置SSH服務器

編輯SSH服務器的配置文件 /etc/ssh/sshd_config

sudo nano /etc/ssh/sshd_config

找到并修改以下配置項:

  • 允許SFTP用戶登錄:確保以下行沒有被注釋掉并且設置為yes

    Subsystem sftp /usr/lib/openssh/sftp-server
    
  • 限制用戶登錄:如果你只想允許特定用戶通過SFTP登錄,可以添加或修改以下配置:

    AllowUsers username1 username2
    

    或者限制所有用戶只能通過SFTP登錄:

    Match Group sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    
  • 創建SFTP用戶組(可選):如果你使用Match Group配置,需要創建一個SFTP用戶組并添加用戶到該組:

    sudo groupadd sftpusers
    sudo usermod -aG sftpusers username
    

3. 配置Chroot環境(可選)

如果你希望限制SFTP用戶只能訪問其主目錄,可以配置Chroot環境:

sudo nano /etc/ssh/sshd_config

添加或修改以下配置:

Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

然后創建用戶的主目錄并設置正確的權限:

sudo mkdir -p /home/username
sudo chown root:root /home/username
sudo chmod 755 /home/username

4. 重啟SSH服務

保存并退出配置文件后,重啟SSH服務以應用更改:

sudo systemctl restart sshd

5. 測試SFTP連接

使用SFTP客戶端連接到服務器,測試配置是否成功:

sftp username@hostname

如果一切配置正確,你應該能夠成功登錄并進行文件傳輸。

6. 防火墻設置(可選)

確保你的防火墻允許SSH連接(默認端口22):

sudo ufw allow 22/tcp
sudo ufw reload  # 如果使用UFW防火墻

或者使用iptables

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo service iptables save

通過以上步驟,你應該能夠在Linux系統中成功配置SFTP。

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