在Ubuntu系統中配置SFTP用戶認證,通常需要以下幾個步驟:
首先,你需要創建一個新的系統用戶。你可以使用adduser命令來創建用戶。
sudo adduser sftpuser
按照提示輸入用戶的密碼和其他信息。
編輯SSH配置文件/etc/ssh/sshd_config,確保以下配置項正確設置:
# 允許SFTP連接
Subsystem sftp /usr/lib/openssh/sftp-server
# 限制SFTP用戶只能訪問自己的主目錄
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
你可以創建一個專門的用戶組來管理SFTP用戶。
sudo groupadd sftpusers
將新創建的用戶添加到這個組中:
sudo usermod -aG sftpusers sftpuser
如果你希望使用PAM進行更復雜的認證,可以編輯/etc/pam.d/sshd文件,添加以下內容:
auth required pam_listfile.so item=user sense=allow file=/etc/ssh/sftpusers onerr=succeed
然后創建/etc/ssh/sftpusers文件,并添加不允許SFTP訪問的用戶:
sudo nano /etc/ssh/sftpusers
在文件中添加用戶名:
sftpuser
最后,重啟SSH服務以應用更改:
sudo systemctl restart sshd
使用SFTP客戶端連接到服務器,確保配置正確:
sftp sftpuser@your_server_ip
如果一切配置正確,你應該能夠成功登錄并訪問用戶的家目錄。
通過以上步驟,你應該能夠在Ubuntu系統上成功配置SFTP用戶認證。