如何撤消OpenSSH密钥并禁用用户访问

时间:2020-01-09 10:42:07  来源:igfitidea点击:

许多用户正在使用ssh登录到远程计算机,并将指示的身份文件追加到计算机~/.ssh/authorized_keys文件。
我最近移动了我的一台服务器,如何撤消openssh键并在Linux操作系统下禁用用户访问。
如何在Unix或者Linux操作系统下撤消OpenSSH密钥?

默认的~/.ssh/authorized_keys和~/.ssh/authorized_keys2文件列出并存储了公用密钥(DSA/ECDSA/RSA),可用于使用公用密钥身份验证的任何用户登录。
文件的每一行都包含一个键。
您可以简单地从该文件中删除密钥,并且用户无法使用ssh客户端访问服务器。
您还需要使用passwd命令禁用或者锁定用户帐户。

在此示例中,从~~ .ssh/authorized_keys中删除[email protected]并锁定用户帐户:

# cd /home/Hyman
# sed -i '/ [email protected]$/d' ~/.ssh/authorized_keys
# passwd -l Hyman

关于长期解决方案的注意事项

如果您的设置有数百个用户,数以万计的OpenSSH帐户,请尝试使用LDAP的OpenSSH。
使用LDAP进行密钥存储管理。
您可以添加,删除和撤消密钥。
但是,这种方法增加了解决方案的复杂度,并且学习曲线可能非常复杂。

另一种选择是将共享主目录存储在NFS服务器上,以便可以轻松添加或者删除密钥。