心得:

這邊主要是說明,如何透過 SSH 實現 SFTP 的應用

淘汰 FTP,大概跟淘汰 HTTP 一樣,只是時間上的問題

實務上明碼傳輸的風險非常的高,不過在現今硬體效能以及軟體優化的兩者幫助下

已經讓加密傳輸的影響降到幾乎無感,讓人使用的意願提升許多

另外,SFTP Server 建議在建置初期將一切事項規劃好,避免將來資料多了之後綁手綁腳

關於 SSH,可以參考以下

CentOS 7 SSH (Secure Shell protocol) 設定

關於 Chroot,可以參考以下:

Linux Chroot 環境設定 – 同 FreeBSD 的 Jail

針對資料夾空間的限制,可以參考:

CentOS 7 – Quota (容量配額簡介)

設定:

編輯 sshd_config

# vim /etc/ssh/sshd_config

先確認是否有以下這行,沒有的話可自行加入

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

限制特定 User 透過 ssh 只能使用 FTP (紅字需修改為實際環境參數)

Match User username
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /Jail/SFTP
ForceCommand internal-sftp

限制特定群組 透過 ssh 只能使用 FTP (紅字需修改為實際環境參數)

Match Group groupname
 X11Forwarding no
 AllowTcpForwarding no
 ChrootDirectory /Jail/SFTP
 ForceCommand internal-sftp

參數說明:

X11Forwarding:

限制使用者無法使用 GUI 連線登入

AllowTcpForwarding:

禁止 port Forward,簡單理解就是將 A 主機的 port 設定到 B 主機身上

ChrootDirectory:

代表登入後設定為根目錄的位置

ForceCommand internal-sftp:

限制只能使用 SFTP

測試:

可以透過 Filezilla 或 WinSCP 進行連線

Filezilla 使用時,記得將 connection port 改為 22 port

或是自定義的 ssh port,才能順利連線成功

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s