CentOS 7 安裝/設定SFTP

SSH除了可以用來作為遠端伺服器的服務之外,還有一個附加功能—SFTP站台
SFTP(SSH File Transfer Protocol):一個基於SSH2.0規範的安全檔案傳輸服務,因此安全性也會比FTP服務來得高!
(本文會提供有無啟動SELinux的兩種設定方式!)

前置步驟 1

請先將SSH安裝完畢!
安裝步驟參考此文:CentOS 7 安裝及設定SSH

Step 1

為設定存取權限,新增使用者群組

本文以使用者群組sftp_group為例

Step 2

新增一個專門用來登入SFTP的帳號

本文以使用者testSFTP為例
欲限制這個使用者只能使用SFTP並且禁止登入伺服器,直接使用下列指令!
若允許使用者可以登入伺服器,可以把『-s /sbin/nologin』去除

替使用者設定密碼

Step 3

在使用者的家目錄下建立一個『data資料夾』,只允許使用者透過SFTP上傳資料到『data』資料夾

Step 4

實現chroot
設定資料夾權限,讓使用者只能存取自己家目錄之下的data資料夾(/home/testSFTP/data/)的東西
務必按照順序修改權限!

權限設定完成。
/home應該要長這樣

使用者家目錄(/home/testSFTP)應該要長這樣

Step 5

修改SSH設定檔

找到下列設定,註解起來!(若本來就已經被註解可不理會)

增加下面設定 (Port不需要更改,SFTP會與SSH使用相同的Port):

Step 6

下列這段必須寫在設定檔最尾端(非常重要!)

存檔離開vim

重新啟動SSHD

Step 7

請先確認SELinux狀態,這會影影響設定方式:CentOS 7 確認/改變SELinux狀態
如果伺服器是有啟用SELinux的,就必須完成本步驟的設定!

SELinux 設定為Enable,要多做這個動作:
第2行:如果伺服器的SSH是使用預設Port,可以不需執行!

Step 8

允許公開網路通過防火牆存取SFTP服務
(如果使用非預設Port,請自行更改!)

重新載入防火牆設定
設定大功告成!

Step 9

用FileZilla測試!
連接埠:SSH Port號(非預設值22請自行更改)
協定:SFTP

Andy Wang

站在巨人的肩膀上仍須戰戰兢兢!

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料