Linux Centos 6.6搭建SFTP服務器


總結一下:

              SFTP服務
  1. #ssh –V  來查看openssh的版本,如果低於4.8p1,需要自行升級安裝,
  2. 創建sftp組:#groupadd sftp  
  3. 創建測試賬戶:#useradd -g sftp -s /bin/false testuser   修改密碼:# passwd testuser
  4. 創建目錄:#mkdir /opt/sftp   #cd /opt/sftp;      #mkdir testuser
  5. 修改測試賬戶HOME路徑:# usermod -d /opt/sftp/testuser testuser
  6. 配置sshd_config :# vim /etc/ssh/sshd_config
  7. 注釋掉:Subsystem   sftp    /usr/libexec/openssh/sftp-server
    1. 添加如下幾行
    2. Subsystem       sftp    internal-sftp  
    3. Match Group sftp  
    4. ChrootDirectory /opt/sftp/%u  
    5. ForceCommand    internal-sftp  
    6. AllowTcpForwarding no  
    7. X11Forwarding no  
  8. 設定Chroot目錄權限:chown root:sftp /opt/sftp/testuser #chmod 755 /opt/sftp/testuser  重啟sshd服務:# service sshd restart  
    1. # mkdir /opt/sftp/testuser/upload  
    2. # chown uplus:sftp /opt/sftp/testuser/upload  
    3. # chmod 755 /opt/sftp/testuser/upload  
  9. 測試     sftp mysftp@127.0.0.1     顯示 sftp> 則sftp搭建成功。

 

 

在Centos 6.6環境使用系統自帶的internal-sftp搭建SFTP服務器。

打開命令終端窗口,按以下步驟操作。

0、查看openssh的版本

   ssh -V   

使用ssh -V 命令來查看openssh的版本,版本必須大於4.8p1,低於的這個版本需要升級。

1、創建sftp組

   groupadd sftp  

2、創建一個sftp用戶,用戶名為mysftp,密碼為mysftp

修改用戶密碼和修改Linux用戶密碼是一樣的。

useradd -g sftp -s /bin/false mysftp  //用戶名
passwd mysftp  //密碼

 useradd -g sftp -s /bin/false mysftp  

 passwd mysftp  


3、sftp組的用戶的home目錄統一指定到/data/sftp下,按用戶名區分,這里先新建一個mysftp目錄,然后指定mysftp的home為/data/sftp/mysftp

     mkdir -p /data/sftp/mysftp  

     usermod -d /data/sftp/mysftp mysftp  


4、配置sshd_config
文本編輯器打開 /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/mysftp  


6、建立SFTP用戶登入后可寫入的目錄

照上面設置后,在重啟sshd服務后,用戶mysftp已經可以登錄。但使用chroot指定根目錄后,根應該是無法寫入的,所以要新建一個目錄供mysftp上傳文件。這個目錄所有者為mysftp,所有組為sftp,所有者有寫入權限,而所有組無寫入權限。命令如下:

     mkdir /data/sftp/mysftp/upload  

     chown mysftp:sftp /data/sftp/mysftp/upload  

     chmod 755 /data/sftp/mysftp/upload  


7、修改/etc/selinux/config

文本編輯器打開/etc/selinux/config

  vi /etc/selinux/config  

 

將文件中的SELINUX=enforcing 修改為 SELINUX=disabled ,然后保存。

在輸入命令

  setenforce 0  

 

8、重啟sshd服務

輸入命令重啟服務。

   service sshd restart  

 

9、驗證sftp環境
用mysftp用戶名登錄,yes確定,回車輸入密碼。

    sftp mysftp@127.0.0.1  

顯示 sftp> 則sftp搭建成功。

 

10、使用FileZilla FTP Client連接SFTP服務器

輸入主機IP地址、用戶名、密碼、端口連接SFTP服務器,端口默認為22。

 


免責聲明!

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



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