背景交代:
CentOS6.5搭建SFTP,按照教程配置 + 重啓SSHD服務,之後用sftp命令試驗登陸,用戶名爲paymentftp 報錯信息如下:
[root@BILLING86 local]# sftp [email protected]
SSH warring: Authorized users only. All activity may be monitored and reported
[email protected]'s password:
packet_write_wait: Connection to 127.0.0.1 port 22: Broken pipe
Connection closed.
Connection closed
原因:是用戶ChrootDirectory配置的主目錄權限問題導致,並非網絡的原因,需特別注意這兩點:
1. ChrootDirectory所指向的文件夾,屬主必須是root,屬組是sftp用戶所屬的用戶組。
2. ChrootDirectory所指向的文件夾到系統根路徑上的所有途徑文件夾,屬主都必須是root,且權限不允許有羣組用戶寫入權限,即權限只能爲750或755,如果任意一個是777,則會出現上述問題。
故以本人配置爲例:
用戶:paymentftp 用戶組:sftp
ChrootDirectory配置:/usr/local/mysftp/data
則:data文件夾的所有者/組應爲:root/sftp 權限是755
usr local mysftp三個文件的所有者/組應爲:root/root 權限是755
浪費了2小時,終於解決!!!