在 Ubuntu 上设置无密码 SSH 登录的 2 个简单步骤

本教程介绍了如何设置 无密码SSH登录 在 Ubuntu 桌面上。 基本上有两种使用 OpenSSH 服务器验证用户登录的方法: 密码认证公钥认证. 后者也被称为 无密码SSH登录 因为您不需要输入密码。

设置无密码 SSH 登录的 2 个简单步骤

第 1 步:在您的 Ubuntu 桌面上生成公共/私人密钥对

在您的 Ubuntu 桌面(不是您的服务器)上,在终端窗口中输入以下命令。

ssh-keygen -t rsa -b 4096

在哪里:

  • -t 代表 type. 上面的命令生成一个 RSA 类型的密钥对。 RSA 是默认类型。
  • -b 代表 bits. 默认情况下,密钥长度为 3072 位。 我们使用 4096 位密钥以提高安全性。

当询问要保存密钥的文件时,您只需按 Enter 使用默认文件。 接下来,输入至少 20 个字符长的好密码。 密码短语用于加密私钥。

  • 私钥(您的身份证明)将保存在 .ssh/id_rsa 主目录下的文件。
  • 公钥将保存在 .ssh/id_rsa.pub 文件。

从 randomart 图像中我们可以看到密钥的长度(RSA 4096)。 现在运行以下命令。

file ~/.ssh/id_rsa

您应该看到以下输出:

/home/username/.ssh/id_rsa: OpenSSH private key 

如果您看到“没有此类文件或目录”错误,则表示未创建 SSH 密钥对。 跑过 ssh-keygen -t rsa -b 4096 命令再次创建它。

第 2 步:将您的公钥上传到远程 Linux 服务器

暗示: 远程服务器可以运行任何Linux发行版:Debian、Ubuntu、RHEL、CentOS等等,只要运行OpenSSH服务器,就可以使用以下方法。

这可以很容易地完成 ssh-copy-id 命令,随附 openssh-client 包裹。

ssh-copy-id remote-user@server-ip

Enter 远程用户的密码。