使用 SSH 密钥对进行安全访问 Linux

编程语言译者 2022-10-17 ⋅ 54 阅读

在使用 Linux 服务器时,远程访问是一项必不可少的功能。然而,使用传统的密码方式进行登录存在一些安全风险,如密码被猜测、被暴力破解等。为了解决这些问题,我们可以使用 SSH 密钥对进行安全访问 Linux。

什么是 SSH 密钥对?

SSH 密钥对由两部分组成:私钥(private key)和公钥(public key)。私钥保存在客户端,而公钥则需要部署到服务器的 ~/.ssh/authorized_keys 文件中。

这两部分密钥是通过非对称加密算法生成的,并且彼此之间是相互关联的。当客户端使用私钥进行连接时,服务器会使用已部署的公钥进行验证,确保客户端的身份是被信任的。

生成 SSH 密钥对

要生成 SSH 密钥对,可以在本地的终端中使用 ssh-keygen 命令。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

在执行该命令后,你将被提示选择私钥和公钥要保存的路径。你也可以选择是否为私钥设置密码。设置密码可以增加一层安全性,但每次使用私钥时都需要输入密码。

一旦生成了密钥对,你将在所选择的路径下找到私钥(默认名为 id_rsa)和公钥(默认名为 id_rsa.pub)。

部署公钥到 Linux 服务器

为了使用 SSH 密钥对进行远程登录服务器,我们需要将公钥部署到服务器上。

首先,使用 SSH 连接到服务器。

ssh username@server_ip_address

然后,创建 .ssh 目录。

mkdir -p ~/.ssh

接下来,打开 authorized_keys 文件。

vi ~/.ssh/authorized_keys

将公钥的内容复制并粘贴到 authorized_keys 文件中,并保存退出。

最后,你需要设置 authorized_keys 文件的权限。

chmod 600 ~/.ssh/authorized_keys

使用私钥进行 SSH 登录

现在,你已经部署了公钥到服务器上,可以使用对应的私钥进行 SSH 登录了。

ssh -i /path/to/private_key username@server_ip_address

如果私钥设置了密码,需要在登录时输入密码进行验证。否则,你将直接登录到服务器。

使用 SSH 密钥对的好处

使用 SSH 密钥对进行安全访问 Linux 带来了很多好处:

  1. 更高的安全性:使用密钥对进行身份验证,极大地降低了密码被猜测、暴力破解等风险。
  2. 无需记忆密码:使用密钥对进行登录,无需记忆密码,方便且节省时间。
  3. 简化管理:如果有多个服务器,你可以在不同服务器使用相同的密钥对,这样可以简化密钥管理。
  4. 自动化部署:密钥对可以用于自动化部署脚本,无需人工干预。

总结

使用 SSH 密钥对进行安全访问 Linux 是一种可靠且安全的方式。通过部署公钥到服务器,并使用对应的私钥进行登录,可以极大地提高远程访问的安全性。此外,密钥对的使用还能够简化管理,并方便自动化部署。

希望本文能为你提供关于使用 SSH 密钥对进行安全访问 Linux 的基础知识和操作方法。如果你有任何问题或疑问,请随时在下方留言。


全部评论: 0

    我有话说: