大多数人使用密码身份验证通过 SSH 命令行连接到他们的服务器,甚至不认为这种身份验证方法可能没有他们预期的那么安全。考虑一下:如果任何黑客设法收集您的 SSH 密码,您所有有价值的信息都将面临风险。这就是为什么使用 SSH 密钥进行身份验证是更好的选择。在本教程中,您将学习如何在 Linux VPS 上禁用 SSH 的密码身份验证。
你需要什么
在开始本指南之前,您需要具备以下条件:
- 一个工作的基于 Linux 操作系统的服务器/VPS
- 通过 SSH 命令行对您的服务器/VPS 进行 Root 访问
第 1 步 — 在您的服务器上配置 SSH 密钥身份验证
在我们开始指南之前,您应该注意,如果您没有事先设置另一种身份验证方法并立即禁用密码身份验证,您将很难连接到您的服务器。
第 2 步 — 编辑 SSH 配置文件
仅当您已完成第 1 步并使用 [ SSH 密钥]成功连接到您的 VPS时才继续执行此操作,因为您可能被锁定在自己的服务器之外。
- 使用根 SSH 凭据连接到您的服务器/VPS。
- 通过 SSH 命令行使用nano或vim等文本编辑器打开/etc/ssh/sshd_config配置文件。nano /etc/ssh/sshd_config
- 当编辑器打开时,您应该会看到类似的视图:
- 现在你需要找到一行:PasswordAuthentication yes。Nano具有搜索功能,因此您只需按键盘上的CTRL + W即可搜索此行,输入搜索关键字PasswordAuthentication并单击Enter。
- 您的指针应指向必要的区域。
- 在这里您需要更改PasswordAuthentication yes为PasswordAuthentication no:
- 要保存更改并退出,请按Ctrl + X,输入Y并按Enter按钮。
- 此外,您需要重新启动SSHD服务以应用更改。运行以下命令:service sshd restart
就是这样!SSH 密码验证已被禁用。从这一点开始,没有人能够使用 SSH 密码连接到您的服务器/VPS。只有将 SSH 密钥添加到您的服务器的特权用户才能连接。
结论
您已经学习了如何在您的服务器/VPS 上禁用 SSH 密码验证。这使您的服务器更加安全,因为没有人能够使用密码通过 SSH 连接到您的服务器。只有使用 SSH 密钥或其他高级身份验证方法的特权用户才能连接。