在 Linux 服务器上使用 PuTTY 配置“无密码 SSH 密钥身份验证”
SSH(安全外壳)是连接和登录远程 Linux 服务器最常用的网络协议之一,因为它为不安全网络上的数据流建立的加密安全通道及其公钥认证提供了更高的安全性。
而使用 SSH 密码登录远程 Linux 服务器会降低系统安全性,因为密码可能会被暴力破解。
SSH 公钥认证提供了执行远程登录的最佳安全方法,因为几乎不可能破译密钥,而私钥可以保证发送者始终是其所声称的那个人。
[ 你可能还喜欢:如何保护和强化 OpenSSH 服务器]
本文将向您展示如何使用Putty 客户端从基于 Windows 的平台生成和使用 SSH 密钥,从而无需输入密码即可在 Linux 服务器上自动执行远程登录。
步骤 1:安装 Putty 并生成 SSH 密钥对
1.您需要采取的第一步是转到官方Putty 下载页面,获取最新版本的 Putty Windows Installer 可执行包并将其安装到您的 Windows 计算机上。
2.安装完 Putty 后,转到Windows“开始”,在搜索字段中输入putty字符串,然后打开将用于生成密钥对的PuTTygen程序。
3.程序打开后,就可以开始生成密钥了。选择2048 位SSH-2 RSA密钥,点击生成按钮,然后在 Putty 密钥生成器字段窗口上随机移动光标,如下面的屏幕截图所示,以生成 SSH 密钥。
4.生成密钥后,添加描述性密钥注释以帮助您轻松识别密钥,并将两个密钥(公钥和私钥)保存到计算机上的安全位置。
请特别注意保存私钥的位置 ,因为如果有人窃取了此密钥,则无需输入密码即可登录您的服务器。
[您可能还喜欢:有用的PuTTY配置技巧和窍门]
此外,为了加强密钥安全,您可以选择一个密码来保护您的密钥,但您可能希望避免在自动化过程中使用密码,因为它会要求您在每次执行服务器登录时输入密码密钥。
5.保存两个密钥后,不要关闭Putty Key Generator窗口,选择复制并将公钥文本字段保存到文本文件中,该文件稍后将粘贴到远程服务器上的OpenSSH authorized_keys文件中。
第 2 步:复制 SSH 密钥以使用 Putty 执行无密码登录
6.现在是时候将密钥复制到目标远程服务器并执行自动登录连接了。使用 Putty 以管理用户(root 或具有 root 权限的帐户)身份登录服务器,并通过发出以下命令在其主路径上创建.ssh目录和authorized_keys文件。
# pwd ## To see if you are in the correct $HOME location # mkdir .ssh # nano .ssh/authorized_keys
7.在 Putty 中打开进行编辑的authorized_keys文件中,粘贴先前从Putty Key Generator复制的公钥中的内容,保存并关闭文件,查看内容,使用700权限保护文件夹和 authorized_keys,然后退出服务器。
# cat .ssh/authorized_keys # chmod -R 700 .ssh/ # exit
8.为了自动连接并登录到您的服务器,您需要将私钥添加到 Putty 客户端。打开 Putty 并在主机名字段中添加您的服务器登录用户,然后以user@domain.tld的形式添加您的服务器 IP 地址或 FQDN ,如果已更改,请输入您的服务器 SSH 端口号。
然后转到左侧类别菜单,选择SSH –> Auth,点击浏览按钮,搜索并添加您的私钥。
9.添加私钥后,返回会话菜单,在已保存的会话字段中输入描述性名称,然后单击保存按钮以保存当前的 Putty 会话。
10.就是这样!现在,您可以通过点击“打开”按钮使用 Putty 客户端自动安全地连接到远程 SSH 服务器,而无需输入密码。
[ 你可能还喜欢:使用 SSH Keygen 进行 SSH 无密码登录]