Ssh

如何將使用者帳戶鎖定到可以盡可能少地讀/寫/執行的程度?

  • September 26, 2014

我想盡可能地鎖定 Arch Linux 使用者帳戶。該帳戶所需的唯一功能是接受非終端 SSH 會話,該會話允許客戶端創建通往 Internet 的隧道。

情況是我想與幾個朋友分享我的遠端連接。我將為他們提供該帳戶的 SSH 密鑰,並根據需要配置他們的程序。

複雜的是,我不想 100% 相信他們保護密鑰文件的能力。我寧願在它仍然是假設的時候盡量減少妥協的潛在損害 - 並藉此機會了解更多關於安全的資訊。

有什麼方法可以實現完全隔離和/或鎖定的帳戶?我可以允許 SSH 連接但拒絕終端訪問嗎?

我很感激任何幫助!

當您將密鑰添加到authorized_keys文件時,您有幾個選項來限制該密鑰可以執行的操作。在這種情況下,您可以禁止執行任何命令。只需在它前面加上command="".

例如:

command="" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDc7nKsHpuC6W/U131p0yDh455sLE9pWmFxdK...

當使用者想要連接時,他們必須傳遞-Nssh. 這告訴ssh客戶端不要嘗試運​​行命令,而只是打開一個連接(如果配置了則進行隧道)。如果客戶端在沒有 的情況下啟動-N,它將立即斷開連接。

例如:

ssh -N -D 8080 host.example.com

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