Ssh

允許通過 sshkey 訪問特定的 chroot 使用者

  • April 22, 2017

我正在嘗試創建一個 sshkey 發送給供應商,以便他們可以連接到他們的 chroot 入獄文件夾:/home/jail/home/ 文件夾設置和權限都設置為該特定使用者,比如說“user1”user1:使用者1

每當我使用 ssh-keygen 創建密鑰時,它總是將 .pub 底部的 root 使用者列為 root@system。我不希望供應商以 root 身份連接,而是讓他們以 user1 身份連接,因此他們只能訪問他們的 chrooted 目錄。使用者帳戶沒有登錄憑據,因為我只希望他們使用 sshkeys 登錄,以便他們可以將數據 sftp 到放置文件夾。

我無法在 user1 帳戶上創建密鑰,因為它的權限非常小,甚至無法執行 ssh-keygen。我正在嘗試的其他所有內容都只是將其設置為 root@system 因為那是我登錄的帳戶。這必須是一種常見的做法,但我無法弄清楚。我假設我會將這對的 .pub 放在 chrooted authorized_hosts 文件中,然後安全地向他們發送私鑰,用於通過 SFTP 連接並刪除他們的文件。

如果我嘗試使用 sftp 進行 sftp,一切正常:sftp -i file user1@dropserver.server.com。但是,我也可以只執行 sftp -i file ROOT@dropserver.server.com ,它可以讓我以 root 權限進入。我只需要阻止供應商僅使用 root 作為使用者名並繞過 chroot。

文件中實際公鑰本身之後的任何內容.pub實際上只是一個註釋;它通常預設username@hostname為創建密鑰的使用者和創建密鑰的主機。它可以被完全刪除或替換為表明其作為被監禁的單使用者密鑰角色的註釋:

ssh-rsa [HASH GOES HERE] root@myhost

可能:

ssh-rsa [HASH GOES HERE] Special keypair jailed shell access

這可以在創建時使用-C開關完成。問題man ssh-keygen

-C comment
        Provides a new comment.

因此,如果我這樣做ssh-keygen -C "This is a comment",公鑰將顯示為:

ssh-rsa [HASH] This is a comment

引用自:https://unix.stackexchange.com/questions/354663