Linux(CentOS 6.4)下搭建SFTP服務(wù)器

1、查看openssh的版本

ssh -v

使用ssh -v 命令來查看openssh的版本,版本必須大于4.8p1,低于的這個(gè)版本需要升級(jí)。
如果提示-bash: ssh: command not found,則需自行安裝openssh客戶端,安裝命令如下

yum -y install openssh-clients

2、創(chuàng)建sftp組

groupadd sftp

在執(zhí)行groupadd xxx時(shí)有可能報(bào)錯(cuò):
groupadd : cannot open /etc/xxx
解決方法:

chattr -i /etc/group
chattr -i /etc/gshadow

3、創(chuàng)建一個(gè)sftp用戶,用戶名為mysftp,密碼為mysftp

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

useradd -g sftp -s /bin/false mysftp    #創(chuàng)建mysftp用戶
passwd mysftp  #設(shè)置mysftp用戶的密碼

如報(bào)下面的錯(cuò):
useradd : cannot open /etc/xxx
解決方法:

chattr -i /etc/passwd
chattr -i /etc/shadow

4、為sftp組用戶設(shè)置統(tǒng)一home目錄

sftp組的用戶的home目錄統(tǒng)一指定到/data/sftp下,按用戶名區(qū)分,這里先新建一個(gè)mysftp目錄,然后指定mysftp的home為/data/sftp/mysftp

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

5、配置sshd_config

文本編輯器打開 /etc/ssh/sshd_config

vi /etc/ssh/sshd_config

找到如下這行,用#符號(hào)注釋掉,應(yīng)該是在132行。(按esc,輸入:set nu顯示行號(hào))

#Subsystem      sftp    /usr/libexec/openssh/sftp-server

在文件最后面添加如下幾行內(nèi)容,然后保存。

Subsystem       sftp    internal-sftp  #使用sftp服務(wù)使用系統(tǒng)自帶的internal-sftp
Match Group sftp  #匹配sftp組的用戶,如果要匹配多個(gè)組,多個(gè)組之間用逗號(hào)分割
ChrootDirectory /data/sftp/%u  #用chroot將用戶的根目錄指定到/data/sftp/%u,%u代表用戶名,這樣用戶就只能在/data/sftp/%u下活動(dòng)
ForceCommand    internal-sftp  #指定sftp命令
AllowTcpForwarding no
X11Forwarding no

6、設(shè)定Chroot目錄權(quán)限

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

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

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

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

8、修改/etc/selinux/config

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

vi /etc/selinux/config

將文件中的 SELINUX=enforcing 修改為 SELINUX=disabled ,然后保存。
再輸入命令

setenforce 0

9、重啟sshd服務(wù)

輸入命令重啟服務(wù)

service sshd restart

10、驗(yàn)證sftp環(huán)境

用mysftp用戶名登錄,yes確定,回車輸入密碼。

sftp mysftp@127.0.0.1

顯示 sftp> 則sftp搭建成功。


注意:sftp服務(wù)的根目錄的所有者必須是root,權(quán)限不能超過755(上級(jí)目錄也必須遵循此規(guī)則),sftp的用戶目錄所有者也必須是root,且最高權(quán)限不能超過755。**

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容