在我的服务器上,我有几个 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
不再有效)。
如果您这样做,并且系统也允许纯文本密码登录,系统将提示用户输入密码才能登录。因此,您可能需要检查是否没有(已知)密码与该帐户关联。