Ssh

Chrooted SFTP 使用者無法登錄

  • November 5, 2019

我正在嘗試配置一個只能訪問特定目錄的使用者。我已經在 SSH 中配置了一個 Chroot 監獄並更改了它的主目錄,但是使用 chroot 配置了 internal-sftp,使用者無法通過 sftp 客戶端登錄。

SSH 配置

Subsystem sftp internal-sftp

       Match Group sftpusers
       ChrootDirectory /var/www/latama
       ForceCommand internal-sftp
       X11Forwarding no
       AllowTCPForwarding no

我做了 adduser latama sftpusers,加入 latama 到 sfrpusers 組。

將其 /etc/passwd 更改為

latama:x:1002:1003:,,,:/var/www/latama:/bin/nologin

目錄權限

drwxr-xr-x  8 latama www-data       4096 Nov  5 08:33 latama

當我嘗試通過 sftp 連接時,會在啟動詳細模式的情況下發生這種情況。

latama@ourdomain.com's password:
debug1: Authentication succeeded (password).
Authenticated to ourdomain.com ([175.75.145.125]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
Connection to ourdomain.com closed by remote host.
Transferred: sent 1760, received 2316 bytes, in 0.0 seconds
Bytes per second: sent 812187.8, received 1068765.3
debug1: Exit status -1
Connection closed

chroot 文件夾需要由 root 擁有,並且只應為所有者設置寫入位。

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