在CentOS系統上配置SFTP(Secure File Transfer Protocol)用戶認證主要涉及安裝和配置OpenSSH服務器,以及設置用戶和用戶組的權限。以下是詳細的步驟和配置說明:
首先,確保你的CentOS系統上已經安裝了OpenSSH服務器。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install openssh-server
創建用戶和用戶組:
創建一個專門用于SFTP的用戶組:
sudo groupadd sftpuser
創建一個新用戶,并將其添加到sftpuser
組中:
sudo useradd -g sftpuser -s /sbin/nologin testuser
為新用戶設置密碼:
sudo passwd testuser
配置SSH:
編輯SSH配置文件/etc/ssh/sshd_config
,確保以下配置項已正確設置:
Subsystem sftp internal-sftp
Match Group sftpuser
ChrootDirectory /home/testuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
這些配置指定了SFTP用戶testuser
只能訪問其主目錄/home/testuser
,并且只能使用internal-sftp
進行文件傳輸。
設置目錄權限:
創建用戶的主目錄,并設置適當的權限:
sudo mkdir /home/testuser
sudo chown root:sftpuser /home/testuser
sudo chmod 755 /home/testuser
重啟SSH服務:
保存配置文件后,重啟SSH服務以應用更改:
sudo systemctl restart sshd
禁用密碼認證:為了提高安全性,可以禁用密碼認證,僅允許使用密鑰認證。編輯/etc/ssh/sshd_config
文件,找到以下行并注釋掉或刪除:
PasswordAuthentication yes
改為:
PasswordAuthentication no
然后重啟SSH服務。
啟用公鑰認證:生成SSH密鑰對,并將公鑰添加到用戶的authorized_keys
文件中。具體步驟如下:
在客戶端生成SSH密鑰對:
ssh-keygen -t rsa
將公鑰復制到服務器的/home/testuser/.ssh/authorized_keys
文件中:
ssh-copy-id testuser@your_server_ip
通過以上步驟,你可以在CentOS系統上配置SFTP用戶認證,確保文件傳輸的安全性。