Ssh
如何將使用者帳戶鎖定到可以盡可能少地讀/寫/執行的程度?
我想盡可能地鎖定 Arch Linux 使用者帳戶。該帳戶所需的唯一功能是接受非終端 SSH 會話,該會話允許客戶端創建通往 Internet 的隧道。
情況是我想與幾個朋友分享我的遠端連接。我將為他們提供該帳戶的 SSH 密鑰,並根據需要配置他們的程序。
複雜的是,我不想 100% 相信他們保護密鑰文件的能力。我寧願在它仍然是假設的時候盡量減少妥協的潛在損害 - 並藉此機會了解更多關於安全的資訊。
有什麼方法可以實現完全隔離和/或鎖定的帳戶?我可以允許 SSH 連接但拒絕終端訪問嗎?
我很感激任何幫助!
當您將密鑰添加到
authorized_keys
文件時,您有幾個選項來限制該密鑰可以執行的操作。在這種情況下,您可以禁止執行任何命令。只需在它前面加上command=""
.例如:
command="" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDc7nKsHpuC6W/U131p0yDh455sLE9pWmFxdK...
當使用者想要連接時,他們必須傳遞
-N
給ssh
. 這告訴ssh
客戶端不要嘗試運行命令,而只是打開一個連接(如果配置了則進行隧道)。如果客戶端在沒有 的情況下啟動-N
,它將立即斷開連接。例如:
ssh -N -D 8080 host.example.com