一、安裝OpenSSH服務
首先,我們需要安裝OpenSSH服務,該服務提供了SSH協議的服務端和客戶端實現,還包含SCP和SFTP工具。
1. 安裝
sudo yum install openssh-server
2. 啟動服務
sudo systemctl start sshd.service
3. 設置開機自啟
sudo systemctl enable sshd.service
二、創建SFTP用戶並限制登錄
1. 創建SFTP用戶
首先,我們需要創建一個SFTP用戶,並將其目錄設置為其家目錄。
sudo useradd -m -d /home/sftpuser -s /sbin/nologin sftpuser
2. 為SFTP用戶創建密碼
sudo passwd sftpuser
3. 限制SFTP用戶的Shell訪問
為了安全起見,我們應該限制SFTP用戶的Shell訪問,以防止他們在登錄後執行Shell命令。
sudo usermod -s /bin/false sftpuser
4. 設置SFTP用戶的目錄權限
我們可以為SFTP用戶創建一個文件夾,用於存儲他們的文件,並將它們的權限設置為只讀。
sudo mkdir -p /home/sftpuser/files
sudo chown -R root:root /home/sftpuser
sudo chmod -R go-w /home/sftpuser
sudo chmod 755 /home/sftpuser/files
三、配置OpenSSH SFTP服務器
1. 備份sshd_config
為了安全起見,在進行以下配置之前,我們應該對sshd_config文件進行備份。
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
2. 進行配置
我們需要編輯sshd_config文件,為SFTP用戶配置以下內容,將其插入文件的底部。
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
四、測試SFTP
1. 用SFTP客戶端驗證
我們可以用任何的SFTP客戶端來驗證SFTP是否能正常工作。如果SFTP用戶能夠登錄,並且只能訪問他們的目錄,則說明一切正常。
2. 測試文件上傳和下載
嘗試將本地文件上傳至遠程服務器,或者將遠程文件下載到本地。
sftp sftpuser@your_server_ip
put localfile /files
get filename
五、總結
本文講述了如何在CentOS上快速搭建高效穩定的SFTP服務器。通過以上步驟,您已經可以創建一個可靠的SFTP服務器,限制用戶訪問,保護服務器安全。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/249287.html