在CentOS系統中配置SFTP用戶認證,通常需要以下幾個步驟:
安裝OpenSSH服務器: 確保你的CentOS系統上已經安裝了OpenSSH服務器。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install openssh-server
啟動并啟用SSH服務: 啟動SSH服務并設置開機自啟:
sudo systemctl start sshd
sudo systemctl enable sshd
創建SFTP用戶:
創建一個專門用于SFTP的用戶,并設置密碼。例如,創建一個名為sftpuser的用戶:
sudo adduser sftpuser
sudo passwd sftpuser
配置SSH和SFTP:
編輯SSH配置文件/etc/ssh/sshd_config,添加或修改以下內容以配置SFTP用戶認證:
# 允許SFTP子系統
Subsystem sftp internal-sftp
# 限制sftpuser用戶的shell訪問
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
解釋:
Subsystem sftp internal-sftp:啟用SFTP子系統。Match User sftpuser:匹配特定用戶sftpuser。ChrootDirectory /home/sftpuser:將用戶限制在其主目錄中。ForceCommand internal-sftp:強制使用SFTP命令。AllowTcpForwarding no:禁止TCP轉發。X11Forwarding no:禁止X11轉發。設置目錄權限:
確保ChrootDirectory指定的目錄及其所有父目錄的權限正確。只有root用戶才能寫入這些目錄:
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
重啟SSH服務: 使配置生效,重啟SSH服務:
sudo systemctl restart sshd
測試SFTP連接: 使用SFTP客戶端連接到服務器,驗證配置是否正確:
sftp sftpuser@your_server_ip
如果一切配置正確,你應該能夠成功連接并進行文件傳輸。
通過以上步驟,你可以在CentOS系統中配置SFTP用戶認證,并確保用戶只能通過SFTP進行文件傳輸,而不能通過SSH進行遠程登錄。