Linux:搭建SFTP伺服器
阿新 • • 發佈:2019-02-02
系統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資料夾裡就可以了。