SFTP Server

    版本為 18:40, 26 Nov 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    SFTP Server

    Q: 帳號登入後限制在 home 目錄內存取(chroot)。

    A: 修改 /etc/ssh/sshd_config,如果 OpenSSH-Server 版本低於 4.8p1

    Subsystem  sftp  internal-sftp
    ChrootDirectory /home
    AllowTCPForwarding no
    X11Forwarding no
    

    Tips:

    * ChrootDirectory 所指定的目錄owner必須是 root
    * home 目錄下的用戶名稱仍可以被其他用戶看到,尚無解決方法。
    * 帳號登入後,自動進入所屬 home 目錄,可修改帳號的設定,參考指令:
         # usermod -d /john john

    設定 Chroot 目錄權限:錯誤的目錄權限設定會導致在 log 中出現 "fatal: bad ownership or modes for chroot directory XXXXXX" 的訊息。根據 openssh 5.1 chrootdirectory permissions issue 這篇文章的資訊顯示,目錄的權限設定有兩個要點:

    • 由 ChrootDirectory 指定的目錄開始一直往上到系統根目錄為止的目錄擁有者都只能是 root
    • 由 ChrootDirectory 指定的目錄開始一直往上到系統根目錄為止都不可以具有群組寫入權限
       
    Q: 帳號只能使用 SFTP,而無法用 SSH 登入。

    A:

    方法一:對於所有帳號禁用 SSH。

    /etc/ssh/sshd_config:

    UseLogin no
    

    方法二:修改某帳號的 shell

    # usermod -s /usr/libexec/openssh/sftp-server john
    # echo "/usr/libexec/openssh/sftp-server" >> /etc/shells 

    方法三:使用 DenyUsers, DenyGroups, AllowUsers, AllowGroups

    /etc/ssh/sshd_config:

    DenyUsers john
    
    Powered by MindTouch Core