就拿來用吧,但從 client 一登入才覺得怪怪的,怎麼會是在使用者的家目錄呢!?
趕快咕狗一下找資料,簡單說明:
1)確認 OpenSSH 版本要在 4.8p1以上:
# dpkg -l openssh-server
2)修改OpenSSH Server的設定檔 (預設 /etc/ssh/sshd_config)
更改 Subsystem 的設定 (註解舊的,加上新的一行)
#Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp
把 SFTP使用者設定連入限制 (寫在設定檔最後面)
Match user account //也可以限制group,另外多個帳號要用逗號隔開
ChrootDirectory /var/sftp //設定登入的根目錄
ForceCommand internal-sftp
3)Chroot目錄權限設定:
參照 OpenSSH Chrootdirectory Permissions Issue
- 由 Chroot目錄開始至上每層目錄(至系統根目錄)的擁有者必需為 root
- 由 Chroot目錄開始至上每層目錄(至系統根目錄)都不可以讓group及other具入寫入權根
# sudo chown root.root /var/sftp
# sudo chmod 755 /var/sftp
4)建立可供使用上傳及下載的SFTP 目錄: (我專門設定一個 User及Group,只能做SFTP之用)
# sudo mkdir /var/sftp/share
# chown account.account /var/sftp/share
5)重啟SSH服務測試:
檢查 sshd_config 設定,
# sshd -T
重新啟動 OpenSSH Server,
# service ssh restart
參考資料:
OpenSSH SFTP chroot() with ChrootDirectory把 SFTP 關起來 (CHROOTED)
沒有留言:
張貼留言