Never Nop Tech

Never Nop Tech

創造意義,動手去做。

樹莓派建立sftp伺服器教學

基本上SFTP 樹莓派就內建了 (基本上),沒有的話可以先去安裝

這篇文章將可以達到

1.限制連入使用者不執行shell

2.把使用者限制權限,使其登入只能進到某資料夾裡面

完成會長這樣

1. 設定sshd_config

首先先到 /etc/ssh 資料夾內找到 sshd_config

在最後面加上:

#################
Match group sftponly #此處為group名稱可自取
 ChrootDirectory /home/%u #%u會自動帶入該使用者
 X11Forwarding no
 AllowTcpForwarding no
 ForceCommand internal-sftp

在裡面建立一個群組

輸入完後基本上長這樣:

在sshd_config中找到

#Subsystem sftp /usr/lib/openssh/sftp-server 將其註解

並加上 Subsystem sftp internal-sftp

完成後長這樣:

並重啟apache  執行:

sudo service ssh restart

2. 設定使用者帳號及群組

建立group:

sudo groupadd sftponly

此處名稱即為 sshd_config 內剛加入的group名稱

建立使用者 (不會建立linux使用者的可以點我):

建立user:

sudo useradd sftpuser

再將使用者加入剛建立的group

adduser sftpuser sftponly

之後執行:

usermod -d / sftpuser

主要是讓使用者登入後就在預設目錄下的意思

(即/home/%u 以此範例來說將進入/home/sftpuser)

3.設定資料夾權限:

chown root.root /home/sftpuser
chmod 755 /home/sftpuser

ps.此步沒做將沒辦法登入,請注意!!

4.讓使用者可以上傳

因為目前的sftp伺服器的使用者登入無法上傳,所以建立一個資料夾upload

cd /home/sftpuser
mkdir upload
chown sftpuser.sftpuser upload

之後就可以用sftp做傳輸檔案了,恭喜!

登入的使用者將會被限制在 home/%u 資料夾,將以此資料夾作為最頂端目錄

 

完成這篇後我想大家後續就是要把apache設定到該目錄下吧!

可以點擊這邊: 樹莓派設定alias

 

Tag:樹莓派sftp設定,樹莓派sftp限定讀取目錄,sftp目錄限制,sftp新增使用者

參考資料:

http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?topic_id=72348

http://blog.miniasp.com/post/2011/08/11/OpenSSH-SFTP-chroot-with-ChrootDirectory.aspx