Linux服務(wù)器下搭建SFTP服務(wù)全過程
SFTP是基于默認(rèn)的22端口,是ssh內(nèi)含的協(xié)議,只要啟動(dòng)了sshd就可以使用。sftp采用的是ssh加密隧道,安裝性方面較ftp強(qiáng),而且依賴的是系統(tǒng)自帶的ssh服務(wù)
本次使用liunx自帶的internal-sftp
1、創(chuàng)建用戶并設(shè)置密碼
useradd -s /bin/false sftpuser passwd sftpuser
2、修改/etc/ssh/sshd_config配置文件
#注釋掉下面這行 #Subsystem sftp /usr/libexec/openssh/sftp-server
同時(shí)添加以下內(nèi)容:
Subsystem sftp internal-sftp #指定使用sftp服務(wù)使用系統(tǒng)自帶的internal-sftp Match user sftpuser #匹配用戶,如果要匹配多個(gè)組,多個(gè)組之間用逗號分割 ChrootDirectory /data/sftp #設(shè)定屬于用戶組sftp的用戶訪問的根文件夾如設(shè)置 /data/sftp 作為sftpuser 的sftp根目錄 ForceCommand internal-sftp #指定sftp命令,強(qiáng)制執(zhí)行內(nèi)部sftp,并忽略任何 ~/.ssh/rc文件中的命令 X11Forwarding no #這兩行,如果不希望該用戶能使用端口轉(zhuǎn)發(fā)的話就加 上,否則刪掉 AllowTcpForwarding no
3、關(guān)閉selinux
修改/etc/sysconfig/selinux配置文件
將文件中的SELINUX=enforcing 修改為 SELINUX=disabled
然后執(zhí)行以下命令
setenforce 0 (// 0是關(guān)閉,1是開啟 )
4、重啟sshdfuwu
systemctl restart sshd 或systemctl restart sshd.service #重啟sshd systemctl status sshd.service #查詢sshd啟動(dòng)狀態(tài)
5、權(quán)限賦予
修改sftp-users用戶組用戶目錄權(quán)限
- 因?yàn)槭褂昧薈hrootDirectory /data/sftp 作為sftpuser的sftp根目錄,現(xiàn)在來修改權(quán)限
- ChrootDirectory設(shè)置的目錄權(quán)限及其所有的上級文件夾權(quán)限,屬主和屬組必須是root;
- ChrootDirectory設(shè)置的目錄權(quán)限及其所有的上級文件夾權(quán)限,只有屬主能擁有寫權(quán)限,也就是說權(quán)限最大設(shè)置只能是755
- 由于/data/sftpuser 是root創(chuàng)建的,權(quán)限755,如果sftpuser直接sftp過去是沒有權(quán)限寫入,因此,需要/data/sftp下創(chuàng)建新目錄并給與qhlh權(quán)限
創(chuàng)建文件夾:
mkdir /data/sftp/wly
權(quán)限賦予
chown sftpuser:sftpuser /data/sftp/wly 將目錄給用戶 chmod 755 /data/sftp/wly #權(quán)限也只能是755,否則無法限制目錄
6、測試驗(yàn)證
使用Sftp sftpuser@192.168.31.49或使用filezilla客戶端連接到sftp服務(wù)器
使用filezilla客戶端連接到sftp服務(wù)器上傳一份文件驗(yàn)證:


7、異常問題
當(dāng)原本sftp運(yùn)行一段時(shí)間后突然不行報(bào)如下錯(cuò)誤

并且服務(wù)器也連接不上sftp

工具報(bào)錯(cuò):無法初始化sftp協(xié)議,主機(jī)是sftp服務(wù)器嗎?
很大原因是password aged、密碼老化、有效期已經(jīng)失效導(dǎo)致會話失敗!
sftp默認(rèn)密碼有效期是30天
解決方案如下:
1、直接用命令修改用戶密碼有效期:chage -M 99999 username--sftp用戶名
2、修改/etc/shadow文件:
3、修改/etc/login.defs文件:
(注:login.defs文件參數(shù)只對創(chuàng)建普通用戶生效,對root用戶無效。shadow文件比login.defs文件優(yōu)先級要高!)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Serv-U 批量帳號管理及申請(Access+Asp) 圖文方法
使用ODBC數(shù)據(jù)庫管理Serv-U的FTP用戶及相關(guān)ASP編程比較詳細(xì)的圖文方法。2011-04-04
FTP服務(wù)器的防火墻通用設(shè)置規(guī)則介紹
此FTP服務(wù)器的防火墻通用設(shè)置規(guī)則適用于Windows、Linux服務(wù)器以及可能的其他操作系統(tǒng),設(shè)置步驟如下,感興趣的朋友可以參考下哈2013-06-06
ftp連接出現(xiàn)socket錯(cuò)誤=#10054的解決方法
這篇文章主要介紹了ftp連接出現(xiàn)socket錯(cuò)誤=#10054的解決方法,需要的朋友可以參考下2014-07-07
Windows系統(tǒng)中FTP配置流程(超詳細(xì))
這篇文章主要為大家詳細(xì)介紹了Windows系統(tǒng)中配置FTP的超詳細(xì)流程,文中通過示例圖片進(jìn)行了詳細(xì)的講解,需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-08-08

