如何使用 ssh-keygen 设置无密码 SSH 登录?

Secure Shell (SSH) 是一种受信任的开源网络协议,用于远程服务器登录和命令执行。 SSH 还用于将文件从一台计算机传输到另一台计算机,并使用 SCP(安全复制)协议将文件从远程服务器下载到本地计算机。

SSH 可以通过两种方式启用

  1. 基于密钥的认证
  2. 基于密码的身份验证

基于密钥的身份验证通常称为无密码登录。

在本文中,我们将解释如何使用 ssh-keygen 和 ssh-copy-id 启用无密码登录。

ssh-keygen 生成私钥和公钥,ssh-copy-id 将本地主机的公钥复制到远程服务器的authorized_keys 文件中。 ssh-copy-id 自动为远程主机分配适当的权限。

使用 ssh-keygen 生成 ssh 密钥对并复制到远程主机

运行以下命令生成公钥和私钥。

$ ssh-keygen

系统将要求您设置存储密钥文件和密码的目录。 只需按 Enter 键即可在每个步骤中设置默认值并继续。

在用户的主目录中运行以下命令以列出生成的文件。

$ cd ~/.ssh