环境规格
一个基于 Microsoft Windows 的客户端和一个基于 CentOS 7 的服务器。
使用 PuTTYgen 生成 SSH 密钥
PuTTYgen 包含在 PuTTY SSH 客户端中。
两者都是免费和开源的,并在 MIT 许可下分发。
因此,可以在 PuTTY 官网免费下载。
我们已经在 MS Windows 客户端上安装了 PuTTY SSH 客户端。
搜索并运行 PuTTYgen 应用程序。
单击生成按钮以生成 SSH 公钥/私钥对。
同时,我们需要在进度条下的区域滚动鼠标以进行SSH Keys的随机化和生成。
PuTTYgen 生成了一个 SSH 公钥/私钥对。
单击“保存私钥”按钮将 SSH 私钥保存在本地。
由于我们没有定义任何密码,因此 PuTTYgen 会显示上述警告。
忽略它并单击是。
我们已将 SSH 私钥保存在本地目录中。
如果我们计划在多台 Linux 机器上使用相同的 SSH 密钥对,我们也可以以相同的方式保存 SSH 公钥。
选择生成的 SSH 公钥并将其复制到剪贴板。
为 CentOS 7 的无密码登录配置 SSH 密钥
使用 PuTTY 连接到我们的 CentOS 7 机器并在 ~/.ssh/authorized_keys 文件中插入 SSH 公钥。
login as: root root@192.168.1.131's password: Last login: Tue Jan 1 18:58:53 2019 from 192.168.1.1 [root@ssh-server ~]# mkdir ~/.ssh [root@ssh-server ~]# vi ~/.ssh/authorized_keys [root@ssh-server ~]# exit
现在,打开 PuTTY 并为该 CentOS 7 服务器添加一个会话。
除了其他设置,我们还需要包含我们的 SSH 私钥,如下所示:
先保存,然后打开这个会话。
login as: root Authenticating with public key "rsa-key-20190101" Last login: Tue Jan 1 18:59:44 2019 from 192.168.1.1 [root@ssh-server ~]#
我们的 CentOS 7 服务器这次不会提示输入密码。
PuTTY 是一个免费的开源 SSH 和 telnet 客户端。
公钥认证是 PuTTY 的一项功能,我们可以其中配置 SSH 密钥,以允许从 PuTTY 终端无需密码登录 Linux 机器。
在本文中,我们将使用 PuTTYgen 配置 SSH 密钥,然后配置一台 CentOS 7 机器以通过 PuTTY 客户端进行无密码登录。
