搭建SFTP服務器主要有以下步驟:
在Linux系統中,大多數發行版默認安裝了OpenSSH客戶端和服務端。如果沒有安裝,可以使用系統的包管理器如apt
或yum
進行安裝。例如,在基于Debian的系統上,可以使用以下命令安裝OpenSSH:
sudo apt update
sudo apt install openssh-server
使用groupadd
命令創建一個新的用戶組,例如命名為sftp
:
sudo groupadd sftp
然后,創建SFTP用戶并指定其登錄shell為/bin/false
,以禁止shell訪問。同時將這些用戶加入之前創建的組:
sudo useradd -g sftp -s /bin/false sftp_user
為SFTP用戶設置密碼:
sudo passwd sftp_user
編輯SSH配置文件/etc/ssh/sshd_config
,添加或修改以下行:
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /home/sftp_user
AllowTcpForwarding no
X11Forwarding no
這里,/home/sftp_user
是SFTP用戶的根目錄。ChrootDirectory
參數限制了用戶只能訪問其指定的家目錄。
設定目錄權限,確保新創建的目錄具有適當的權限(通常為700),并且歸屬于對應的用戶和用戶組:
sudo mkdir /home/sftp_user
sudo chown sftp_user:sftp /home/sftp_user
sudo chmod 700 /home/sftp_user
保存配置文件后,需要重啟SSH服務以應用更改:
sudo systemctl restart sshd
或者
sudo service ssh restart
使用SFTP客戶端軟件(如FileZilla)或sftp
命令嘗試連接到服務器,驗證用戶能夠登錄并且只能訪問其家目錄。
以上步驟提供了在Linux系統上搭建SFTP服務器的基本流程。請根據您的具體需求和操作系統版本進行相應的調整。