暂时禁用使用特定 ssh 密钥登录

暂时禁用使用特定 ssh 密钥登录

在我的服务器上,我有几个 SSH 公钥~/.ssh/authorized_keys

我想暂时阻止/禁止/停用一把钥匙。我现在想阻止用户使用此密钥登录。但我可能想稍后重新启用它(即我不想完全删除密钥)。

正确/推荐的方法是什么?

我应该#在行首加一个注释authorized_keys吗?

澄清一下,我不想阻止特定用户。一个用户帐户由多人共享,每个人都使用自己的 SSH 密钥进行连接。我想阻止一个特定的 SSH 密钥。

答案1

您可以在键前添加一个强制命令来告诉用户发生了什么。例如:

restrict,command="printf 'Your key has been disabled\n'" ssh-rsa AAAAB2...19Q== [email protected]

或者对于 v7.2 之前的 Openssh:

command="printf 'Your key has been disabled\n'",no-pty,no-port-forwarding ssh-rsa AAAAB2...19Q== [email protected]

然后他们得到:

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

答案2

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

如果您这样做,并且系统也允许纯文本密码登录,系统将提示用户输入密码才能登录。因此,您可能需要检查是否没有(已知)密码与该帐户关联。

相关内容