sftp采用的是ssh加密隧道,安裝性方面較ftp強,而且依賴的是系統自帶的ssh服務,不像ftp還需要額外的進行安裝
1. 創建sftp組
# groupadd sftp
創建完成之后使用cat /etc/group命令組的信息
2. 創建一個sftp用戶mysftp並加入到創建的sftp組中,同時修改mysftp用戶的密碼
# useradd -g sftp -s /bin/false mysftp
# passwd mysftp

3. 新建/data/sftp/mysftp目錄,並將它指定為mysftp組用戶的home目錄
# mkdir -p /data/sftp/mysftp
# usermod -d /data/sftp/mysftp mysftp

4. 編輯配置文件/etc/ssh/sshd_config,vi /etc/ssh/sshd_config
將如下這行用#符號注釋掉
# Subsystem sftp /usr/libexec/openssh/sftp-server
並在文件最后面添加如下幾行內容然后保存
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no

5. 設置Chroot目錄權限
# chown root:sftp /data/sftp/mysftp
# chmod 755 /data/sftp/mys
6. 新建一個目錄供stp用戶mysftp上傳文件,這個目錄所有者為mysftp所有組為sftp,所有者有寫入權限所有組無寫入權限
# mkdir /data/sftp/mysftp/upload
# chown mysftp:sftp /data/sftp/mysftp/upload
# chmod 755 /data/sftp/mysftp/upload

7. 關閉selinux並重啟sshd服務,然后測試

8. 在其他服務器上進行驗證,sftp 用戶名@ip地址
