溫馨提示×

SFTP在Linux服務器上如何設置

小樊
45
2025-06-11 17:21:55
欄目: 云計算

在Linux服務器上設置SFTP(SSH File Transfer Protocol)通常涉及以下幾個步驟:

1. 安裝OpenSSH服務器

首先,確保你的Linux服務器上已經安裝了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,以啟用SFTP并對其進行配置。

sudo nano /etc/ssh/sshd_config

在文件中找到以下行并進行相應的修改:

  • 確保以下行沒有被注釋掉(即沒有以 # 開頭):

    Subsystem sftp /usr/lib/openssh/sftp-server
    
  • 可以添加或修改以下行來限制SFTP用戶的訪問權限:

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

3. 創建SFTP用戶組

創建一個專門用于SFTP用戶的組,并將需要使用SFTP的用戶添加到該組中。

sudo groupadd sftpusers

4. 添加SFTP用戶并設置密碼

添加一個新用戶并將其添加到SFTP用戶組中。例如,添加一個名為 sftpuser 的用戶:

sudo adduser sftpuser
sudo passwd sftpuser

按照提示設置密碼。

5. 將用戶添加到SFTP用戶組

將新創建的用戶添加到SFTP用戶組中:

sudo usermod -aG sftpusers sftpuser

6. 設置Chroot目錄

為了安全起見,可以將SFTP用戶的根目錄設置為一個特定的目錄,并使用 chroot 將其限制在該目錄中。編輯 /etc/ssh/sshd_config 文件,找到 Match Group sftpusers 部分,并確保 ChrootDirectory 指向一個有效的目錄。

例如:

Match Group sftpusers
    ChrootDirectory /home/sftpuser
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

確保 /home/sftpuser 目錄存在并且屬于 root 用戶:

sudo mkdir /home/sftpuser
sudo chown root:root /home/sftpuser

7. 重啟SSH服務

保存并關閉 /etc/ssh/sshd_config 文件后,重啟SSH服務以應用更改:

sudo systemctl restart sshd

8. 測試SFTP連接

使用SFTP客戶端連接到服務器,測試是否可以正常工作:

sftp sftpuser@your_server_ip

如果一切配置正確,你應該能夠成功連接并使用SFTP進行文件傳輸。

通過以上步驟,你就可以在Linux服務器上成功設置SFTP服務。

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