Ssh

SSH - ChrootDirectory 不工作

  • May 12, 2015

我正在嘗試將“測試”使用者(組 sftp)chroot 到 /home/test。我在 sshd_config 的末尾添加了以下幾行:

Subsystem sftp internal-sftp

Match User test
   ChrootDirectory /home/test
   X11Forwarding no
   AllowTcpForwarding no
   ForceCommand internal-sftp

hometest目錄有 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-sftpForceCommand 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

所以你需要改變它。

其餘的看起來還可以。

引用自:https://serverfault.com/questions/691440