Ssh
SSH - ChrootDirectory 不工作
我正在嘗試將“測試”使用者(組 sftp)chroot 到 /home/test。我在 sshd_config 的末尾添加了以下幾行:
Subsystem sftp internal-sftp Match User test ChrootDirectory /home/test X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
home
和test
目錄有 755 權限,並由 root 擁有。我也試過了ChrootDirectory /home
。root@Debian:/# namei -l /home/test f: /home/test drwxrwxrwx root root / drwxr-xr-x root root home drwxr-xr-x root root test
我無法通過 SFTP 或 SSH 連接到伺服器(無論我是否包含
Subsystem sftp internal-sftp
)ForceCommand internal-sftp
。一旦我登錄,我就會收到以下消息:Write failed: Broken pipe
…並將以下內容附加到 auth.log:
May 12 13:48:29 Reach sshd[25503]: Accepted password for test from 192.168.0.10 port 51058 ssh2 May 12 13:48:29 Reach sshd[25503]: pam_unix(sshd:session): session opened for user test by (uid=0) May 12 13:48:29 Reach sshd[25505]: fatal: bad ownership or modes for chroot directory component "/" May 12 13:48:29 Reach sshd[25503]: pam_unix(sshd:session): session closed for user test
顯然問題是它試圖 chroot 到“/”,而它應該是“/home/test”。我錯過了什麼?我已將 sshd_config 的其餘部分保留為預設值,並且沒有其他 ChrootDirectory 指令……
謝謝你。
你的權限
/
太開放了。我想知道你是怎麼結束的。
那應該是
0755
。所以你需要改變它。
其餘的看起來還可以。