溫馨提示×

如何在CentOS上設置SFTP用戶認證

小樊
44
2025-07-18 19:06:32
欄目: 智能運維

在CentOS上設置SFTP用戶認證,可以按照以下步驟進行:

1. 安裝必要的軟件包

首先,確保你的CentOS系統已經安裝了openssh-serveropenssh-clients。如果沒有安裝,可以使用以下命令進行安裝:

sudo yum install openssh-server openssh-clients

2. 創建SFTP用戶

創建一個新的用戶,并為其設置密碼。例如,創建一個名為sftpuser的用戶:

sudo adduser sftpuser
sudo passwd sftpuser

按照提示輸入并確認密碼。

3. 配置SSH和SFTP

編輯SSH配置文件/etc/ssh/sshd_config,以允許SFTP訪問并限制用戶的訪問權限。

sudo vi /etc/ssh/sshd_config

在文件中找到并修改以下行:

# Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp

# Allow users to use SFTP only
Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

4. 創建SFTP用戶組(可選)

為了更好地管理SFTP用戶,可以創建一個專門的用戶組sftpusers,并將SFTP用戶添加到該組中。

sudo groupadd sftpusers
sudo usermod -aG sftpusers sftpuser

5. 設置Chroot環境

為了限制SFTP用戶的根目錄,需要設置chroot環境。編輯/etc/ssh/sshd_config文件,添加或修改以下行:

Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

確保chroot目錄及其所有父目錄的權限設置正確。例如,如果sftpuser的家目錄是/home/sftpuser,則需要確保/home目錄的權限設置為755,并且/home/sftpuser目錄的權限設置為755。

sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser

6. 重啟SSH服務

保存并關閉sshd_config文件后,重啟SSH服務以應用更改:

sudo systemctl restart sshd

7. 測試SFTP連接

使用SFTP客戶端連接到服務器,測試是否可以正常登錄并進行文件傳輸。例如,使用命令行SFTP客戶端:

sftp sftpuser@your_server_ip

如果一切配置正確,你應該能夠成功登錄并進行SFTP操作。

通過以上步驟,你可以在CentOS上成功設置SFTP用戶認證,并限制用戶的訪問權限。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女