SFTP服務搭建

weixin_34041003發表於2018-04-22

本文為轉載,侵權刪,原文地址:Linux Centos 6.6搭建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。

2383533-89d798dc93a7f0a6
FileZilla

相關文章