SFTP配置


具體配置步驟:

1. 創建一個專門的用戶組和用戶

#創建sftp組
groupadd sftp

#創建一個sftp用戶,用戶名為ylh
useradd -g sftp -s /bin/false ylh

#修改密碼
passwd ylh

注意,這里將shell設置為/bin/false使其沒有登陸shell的權限

  

2.指定目錄

#sftp組的用戶的home目錄統一指定到/data/sftp下
mkdir -p /data/sftp/ylh  

#然后指定ylh的home為/data/sftp/ylh
usermod -d /data/sftp/ylh ylh

 

3.編輯/etc/ssh/sshd_config

#編輯sshd_config
vi /etc/ssh/sshd_config

#輸入/Subsystem搜索到下列內容,注釋掉原有的
# Subsystem      sftp    /usr/libexec/openssh/sftp-server

#改為internal-sftp
Subsystem       sftp    internal-sftp

為什么使用 internal-sftp 而不用默認的 sftp-server,這是因為:

  • 這是一個進程內的 sftp 服務,當用戶 ChrootDirectory 的時候,將不請求任何文件;
  • 更好的性能,不用為 sftp 再開一個進程。

 

4.設定屬於用戶組sftp的用戶都只能訪問他們自己的home文件夾

在sshd_config文件結尾添加:

# 匹配用戶組,如果要匹配多個組,多個組之間用逗號分割
Match Group sftpusers

# 指定登陸用戶到自己的用戶目錄
ChrootDirectory /data/sftp/%u

# 指定 sftp 命令
ForceCommand internal-sftp

# 這兩行,如果不希望該用戶能使用端口轉發的話就加上,否則刪掉
X11Forwarding no
AllowTcpForwarding no

 

5.增加上傳權限

chown ylh:sftp /data/sftp/ylh 
chmod 755 /data/sftp/ylh

 

6.重啟sshd服務

service sshd restart
//systemctl restart sshd

 

7.參考鏈接

https://www.jianshu.com/p/8da79294a46f

https://segmentfault.com/a/1190000008578734

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM