sftp服務器的搭建

## 搭建前言:

 
主機系統:centos7
 
因爲sftp基於ssh協議,因此咱們無需安裝多餘的包,只須要進行相應的配置便可。css

 

## 搭建過程:

 

1. 建立用戶、用戶組,設置目錄權限等(本次只是測試,因此只建了一個用戶/用戶組)

#家目錄默認在/home/sftp_user
    sudo useradd -m sftp_user:sftp_user 
    #將家目錄的屬主改成root
    sudo chown root:root /home/sftp_user 
    #將家目錄的權限改成755
    sudo chmod 755 /home/sftp_user 
    #創建上傳目錄 
    sudo mkdir -p /home/sftp_user/upload 
    #創建下載目錄
    sudo mkdir -p /home/sftp_user/download 
    #切換上傳、下載兩個目錄的屬主爲sftp_user
    sudo chown -R sftp_user:sftp_user /home/sftp_user/upload  
    sudo chown -R sftp_user:sftp_user /home/sftp_user/download

 

2. 備份並修改/etc/ssh/sshd_config,在其中添加如下內容

 
文字版以下,可直接參考其中未註釋內容shell

# override default of no subsystems
    #Subsystem      sftp    /usr/libexec/openssh/sftp-server
    Subsystem sftp internal-sftp
    Match User sftp_user
    ForceCommand internal-sftp
    ChrootDirectory /home/sftp_user
    AllowAgentForwarding no
    AllowTcpForwarding no
    X11Forwarding no
    PasswordAuthentication yes
    # Example of overriding settings on a per-user basis
    #Match User anoncvs
    #       X11Forwarding no
    #       AllowTcpForwarding no
    #       PermitTTY no
    #       ForceCommand cvs server
    #UseDNS no
    #AddressFamily inet
    PermitRootLogin yes
    #SyslogFacility AUTHPRIV
    PasswordAuthentication no

 

3. 重啓服務,若是報錯就繼續查錯,若是無錯就檢查上傳下載功能

sysetmctl restart sshd

 

至此,sftp的搭建就完成了。
 centos

## 搭建後記:

固然,這其中有幾個點須要格外注意:服務器

 

1. 在重啓sshd的時候,sshd很容器起不來,會致使客戶端連不上去。因此,咱們須要注意2點:ssh

1.1 備份/etc/ssh/sshd_config文件,若是ssh真的掛了,就趕忙恢復到之前的狀態。ide

1.2 多開幾個console,總要保證有一個console連獲得主機,能夠保證機器有能力恢復到從前狀態。測試

2. 搭建sftp服務器的時候,咱們須要注意3點:centos7

2.1 ChrootDirectory 設置的目錄權限及其全部的上級文件夾權限,屬主和屬組必須是 root。3d

2.2 ChrootDirectory 設置的目錄權限及其全部的上級文件夾權限,只有屬主能擁有寫權限,權限最大設置只能是 755。rest

2.3 ChrootDirectory 下面的目錄的屬主須要設置成sftp user,這樣這個用戶才能夠擁有讀/寫/執行權限。

相關文章
相關標籤/搜索