Ssh

使用一個特定的 ssh 密鑰暫時禁用登錄

  • January 31, 2022

在我的伺服器上,我有幾個公共 SSH 密鑰~/.ssh/authorized_keys

我想暫時阻止/禁止/停用一個鍵。我現在想阻止使用者使用此密鑰登錄。但我可能想稍後重新啟用它(即我不想完全刪除密鑰)。

正確/推薦的方法是什麼?

我應該#在行的開頭authorized_keys,在關鍵的前面放一個評論嗎?

澄清一下,我不想阻止特定使用者。一個使用者帳戶在幾個人之間共享,每個人都使用自己的 SSH 密鑰進行連接。我想阻止一個特定的 SSH 密鑰。

您可以在密鑰前面加上一個強制命令,告訴使用者發生了什麼。例如:

restrict,command="printf 'Your key has been disabled\n'" ssh-rsa AAAAB2...19Q== joe@example.net

或者對於 v7.2 之前的 Openssh:

command="printf 'Your key has been disabled\n'",no-pty,no-port-forwarding ssh-rsa AAAAB2...19Q== joe@example.net

然後他們得到:

$ ssh servername
PTY allocation request failed on channel 0
Your key has been disabled
Connection to servername closed.

是的,您可以在相關行之前放置#(或任何其他字元,只要初始條目ssh-rsa不再有效)。

如果您這樣做,並且系統也允許純文字密碼登錄,則會提示使用者輸入密碼才能登錄。因此,您可能需要檢查該帳戶是否沒有(已知)密碼關聯。

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