删除运行 OpenSSH/sshd 的服务器的用户/IP 地址的 SSH 密钥

删除运行 OpenSSH/sshd 的服务器的用户/IP 地址的 SSH 密钥

我最近在将我的发行版升级到最新的 LTS 时遇到了一些问题,并允许我的本地管理员通过 ssh 登录我的笔记本电脑,使用我的用户名并授予他们 root 访问权限。

虽然这很有帮助,但我想通过阻止 ssh 访问我的 ssh 来保护我的机器。

  • 是否可以找到为该用户创建的 ssh 密钥并将其删除?

  • 这会阻止进一步的访问吗?

  • 客户端 ssh 密钥存储在哪里?

我查看了一下,似乎编辑/etc/ssh/sshd_config和取消注释PermitRootLogin no是一种解决方案,但似乎阻止我自己登录并在将来获得 root 访问权限。

答案1

这里有几个事情,首先你可以删除用户

sudo userdel -r <username>

其次,私钥存储在 ~/.ssh/identity 中,这是在他的计算机上(假设他使用的是基于 unix/linux 的系统),不是您的问题。公钥存储在 ~/.ssh/identity.pub 中,因此当您删除他的用户帐户时,-r 标志也会删除他的主目录,包括他的 .ssh 目录。公钥必须放在远程计算机的 /root/.ssh/authorized_keys 中,设置才能正常工作。因此,请确保他的密钥也已从那里删除。

最后,无论如何,您都应该进行上述更改。PermitRootLogin 仅适用于 ssh 访问。如果将其设置为 no,则可以使用您的用户帐户 ssh 登录,然后sudo subam 您的 root。无论如何,您都应该这样设置它。

我还建议您做一些额外的更改以提高 SSH 安全性。

公钥和密码的设置

编辑 /etc/ssh/sshd_config 文件。在文件中添加以下行:

AuthenticationMethods publickey,password

警告:确保 PasswordAuthentication 如下所示:

#PasswordAuthentication yes

这将要求用户拥有一个有效的用户帐户和密码,以及一个用于 ssh 登录的公钥。

相关内容