本教程介绍了如何设置 无密码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 远程用户的密码。