建立名為 sftp_users 的使用者群組,供 SFTP 使用
檢查是否有成功建立使用者群組:
建立名為 sftpuser1 的使用者,並加入至 sftp_users 使用者群組中:
檢查使用者:
幫剛剛建立的使用者 sftpuser1 增加密碼:
然後輸入兩次密碼 在 /var 中建立 sftp 資料夾,並在 sftp 資料夾中再建立 files 資料夾
將 files 資料夾的使用者群組改為 sftp_users
給予權限,讓 sftp 使用者群組可以在 files 資料夾內讀寫:
SFTP 需要 SSH ,所以先使用下面的指令安裝
調整 ssh 設定:
在 sshd_config 檔案中最下面的部分,應該有下列區塊:
將上面內容使用下面的內容取代:
sftp 使用者一連入會在 /var/sftp 資料夾中,看到的路徑是 / ,但是無法存取,會看到裡面有 files 資料夾,在 files 裡面可以存取檔案
檢查文件是否正確
重新啟動 ssh 服務:
如果使用者想要使用 ssh 登入,就會出現下面的訊息,表示不能使用 ssh ,只能適用 sftp
在 windows 連入(可以在 sftp 後面使用 -P 加上自訂的 port):
sftp 詳細指令操作可以參考這篇:windows 使用指令視窗 上傳/下載 ftp 伺服器上的檔案(不用額外安裝軟體)
sudo groupadd sftp_users
檢查是否有成功建立使用者群組:
grep sftp_users /etc/group
建立名為 sftpuser1 的使用者,並加入至 sftp_users 使用者群組中:
sudo useradd -m sftpuser1 -g sftp_users
檢查使用者:
grep sftpuser1 /etc/passwd
幫剛剛建立的使用者 sftpuser1 增加密碼:
sudo passwd sftpuser1
然後輸入兩次密碼 在 /var 中建立 sftp 資料夾,並在 sftp 資料夾中再建立 files 資料夾
sudo mkdir -p /var/sftp/files
將 files 資料夾的使用者群組改為 sftp_users
sudo chown :sftp_users /var/sftp/files
給予權限,讓 sftp 使用者群組可以在 files 資料夾內讀寫:
sudo chmod 775 /var/sftp/files/
SFTP 需要 SSH ,所以先使用下面的指令安裝
sudo apt update && sudo apt install openssh-server
調整 ssh 設定:
sudo vi /etc/ssh/sshd_config
在 sshd_config 檔案中最下面的部分,應該有下列區塊:
# override default of no subsystems
Subsystem sftp /usr/lib/openssh/sftp-server
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
將上面內容使用下面的內容取代:
Subsystem sftp internal-sftp
Match Group sftp_users
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/sftp
sftp 使用者一連入會在 /var/sftp 資料夾中,看到的路徑是 / ,但是無法存取,會看到裡面有 files 資料夾,在 files 裡面可以存取檔案
檢查文件是否正確
sudo sshd -t
重新啟動 ssh 服務:
sudo systemctl restart ssh
如果使用者想要使用 ssh 登入,就會出現下面的訊息,表示不能使用 ssh ,只能適用 sftp
This service allows sftp connections only.
Connection to 192.168.171.128 closed.
在 windows 連入(可以在 sftp 後面使用 -P 加上自訂的 port):
sftp sftpuser1@192.168.0.100
sftp 詳細指令操作可以參考這篇:windows 使用指令視窗 上傳/下載 ftp 伺服器上的檔案(不用額外安裝軟體)
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com