1. 程式人生 > >Linux:搭建SFTP伺服器

Linux:搭建SFTP伺服器

系統Centos
工具,自帶的internal-sftp
1.首先檢視openssh版本

ssh -V

這裡寫圖片描述
版本必須大於4.8p1,低於的這個版本需要升級。

2.建立sftp組

groupadd bmssftp

3.建立sftp使用者

useradd -g bmssftp -s /bin/false bmssftp  //使用者名稱
passwd bmssftp123  //密碼

4.將sftp組的使用者home目錄統一指定到/data/sftp下,按使用者名稱區分,這裡先新建一個bmssftp目錄,然後指定bmssftp的home為/data/sftp/bmssftp。

mkdir
-p /data/sftp/bmssftp usermod -d /data/sftp/bmssftp bmssftp

5.配置sshd_config

vim /etc/ssh/sshd_config

註釋掉Subsystem sftp /usr/libexec/openssh/sftp-server 這句話
並且在檔案末尾新增如下語句

Subsystem sftp internal-sftp    
Match Group mysftpg    
ChrootDirectory /data/sftp/%u    
ForceCommand    internal-sftp    
AllowTcpForwarding no    
X11Forwarding no

我這裡把data該成了data2,
這裡寫圖片描述

6.設定許可權

chown root:bmssftp /data/sftp/bmssftp  
chmod 755 /data/sftp/bmssftp

7.現在其實已經可以通過bmssftp賬號密碼登入了,但是在bmssftp資料夾中還不能上傳檔案,所以需要新建一個資料夾來供bmssftp使用者上傳檔案。

mkdir /data/sftp/bmssftp/upload  
chown bmssftp:bmssftp /data/sftp/bmssftp/upload 
chmod 755 /data/sftp/bmssftp/upload

8.編輯/etc/selinux/config

vim /etc/selinux/config

將檔案中的SELINUX=enforcing 修改為 SELINUX=disabled ,
然後儲存並執行

setenforce 0

9.重啟sshd服務
輸入命令重啟服務。

service sshd restart

然後就可以嘗試因Xftp,Winscp等工具登入了,如下,在upload同目錄下應該是無法上傳修改檔案的,在upload資料夾裡就可以了。
這裡寫圖片描述