
是否可以(如果可以,如何)執行以下操作openssh-server
:
- 能夠
root
使用金鑰而不是密碼來驗證使用者身份 - 能夠
non-root
使用金鑰而不需要密碼來驗證用戶 - 防止使用者使用他/她自己的金鑰
non-root
登入root
sshd
只需使用一個 的單一實例即可做到這一點TCP port
是的,我非常清楚PermitRootLogin yes
選擇的風險。
答案1
這應該是“開箱即用”,並且不需要再將用戶公鑰放入伺服器上相應用戶的 .ssh/authorized_keys 檔案中。 (如果用戶不存在該文件,請創建它!)
唯一需要注意的是,如果將非 root 使用者公鑰新增至伺服器 root/.ssh/authorized_keys 中,那麼該非 root 使用者將能夠以 root 身分登入伺服器 - 因此可以避免這,只是不要將其金鑰新增到根authorized_keys 檔案中。
您已經遇到過 PermitRootLogin - 當然,需要在伺服器上啟用它。您可以(可選)透過新增諸如「AllowUsers」之類的行來限制誰可以從何處登入(如果有的話)[電子郵件受保護] [電子郵件受保護]user2” - 只允許 root 和 user1 從特定的 IP 位址登錄,但 user2 可以從任何地方登入。您可以根據需要使用任意數量的使用者/IP 組合來擴展此功能。