在Debian系統中配置SFTP虛擬用戶,你需要遵循以下步驟:
首先,確保你已經安裝了openssh-server和sshd-homedir軟件包。如果沒有,請使用以下命令安裝:
sudo apt-get update
sudo apt-get install openssh-server sshd-homedir
使用文本編輯器創建一個新的虛擬用戶數據庫文件。例如,使用nano編輯器創建一個名為/etc/virtual-users.txt的文件:
sudo nano /etc/virtual-users.txt
在文件中添加虛擬用戶的用戶名和密碼,每行一個用戶,格式如下:
username1
password1
username2
password2
保存并關閉文件。
為每個虛擬用戶創建一個家目錄。例如,為username1創建一個名為/home/username1的家目錄:
sudo mkdir /home/username1
更改虛擬用戶家目錄的所有者和權限,以便SSH可以訪問:
sudo chown root:root /home/username1
sudo chmod 755 /home/username1
創建一個名為/etc/pam.d/virtual-users的文件,用于配置PAM認證:
sudo nano /etc/pam.d/virtual-users
在文件中添加以下內容:
auth required pam_userdb.so db=/etc/virtual-users.txt
account required pam_userdb.so db=/etc/virtual-users.txt
保存并關閉文件。
編輯/etc/ssh/sshd_config文件,以便使用PAM認證和虛擬用戶:
sudo nano /etc/ssh/sshd_config
找到以下行并進行修改:
# Authentication:
#LoginGraceTime 120
PermitRootLogin no
PasswordAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes
# PAM configuration
Match Group sftp_users
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
在文件末尾添加以下內容:
Match User virtualuser
Authentication via PAM
保存并關閉文件。
創建一個名為sftp_users的用戶組,并將虛擬用戶添加到該組:
sudo groupadd sftp_users
sudo usermod -aG sftp_users username1
最后,重啟SSH服務以應用更改:
sudo systemctl restart ssh
現在,你應該能夠使用虛擬用戶通過SFTP登錄到Debian系統了。請注意,這些步驟僅適用于Debian系統。在其他Linux發行版上,配置過程可能略有不同。