當CentOS7 搭建sftp時遭遇Broken Pipe

今天接到通知需要在集群某個節(jié)點搭建一個sftp,沒想到坑還挺多。

搭建sftp首先需要創(chuàng)建group組

然后建立對應的user,設置passwa user 密碼。usermod -d /home/ user 設置家目錄(實踐證明這一步可以省略,具體參考https://www.linuxquestions.org/questions/red-hat-31/sftp-chroot-error-write-failed-broken-pipe-4175555089/

再配置/etc/ssh/sshd_config文件:

Match user sftpadmin 由于多次配置失敗,我將每個user的配置單獨寫出來

ChrootDirectory? /home/user 注意:這里是寫當前用戶的目錄。而不是常見的%u

ForceCommand internal-sftp

AllowTcpForwarding no

X11Forwarding no


因此 將 /etc/passwd中的home目錄改成“/” .這里我并沒有嘗試不該會不會報錯,你可以試試~

改這個文件后記得關(guān)閉一個服務(忘記了): setenforce 0

設置Chroot目錄權(quán)限(關(guān)鍵):

權(quán)限設置不當,會報錯“Broken Pipe”

首先將根目錄及以上/sftp/user/ 都改為root屬主和屬組

再將權(quán)限設置為755,chmod 755 /sftp/user

然后將user目錄下的其他文件設為sftpuser的屬主和屬組


最后記得, systemctl restart sshd.service 重啟ssh ,再測試一下sftp sftpusers@127.0.0.1

搗鼓了半天,終于完成了基本設置。這個文章主要用于提醒小白(我自己),百度上面大部分Broken Pipe報錯都是互相抄襲,都說是權(quán)限設置問題。還是得多找找。

有一個朋友發(fā)的一個說:https://www.cnblogs.com/sunshinea121/p/10648606.html

和我最后的設置一樣,只是還需要config正確才能起作用。

這位朋友說的%h我試了一下也沒成功,大家可以參考:

http://www.mamicode.com/info-detail-1821900.html

至少,這兩篇文章和大部分的所謂“解決方案”提出了不同的解決思路,或許對別人有用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容