【BIGDONGDONG】#88 使用第三方工具链接服务器丨生成密钥(yue)对丨Putty Terminal connecting gcp vps
目录:
安全外壳(SSH)是用于客户端和服务器之间的安全连接的加密网络协议,并支持各种身份验证机制。
两种最流行的机制是基于密码的身份验证和基于公钥的身份验证。 与传统的密码验证相比,使用SSH密钥更安全,更方便。
本教程说明了如何使用PuTTYgen在Windows上生成SSH密钥。 我们还将向您展示如何设置基于SSH密钥的身份验证以及如何在不输入密码的情况下连接到远程Linux服务器。
下载PuTTYgen
PuTTYgen是一个开源实用程序,可让您为最流行的Windows SSH客户端PuTTY生成SSH密钥。
PuTTYgen可作为独立的可执行文件提供,它也是PuTTY.msi安装软件包的一部分。 如果您尚未安装PuTTYgen,请转到PuTTY下载页面并下载PuTTY安装软件包。 安装很简单,双击安装包,然后按照说明进行操作。
使用PuTTYgen创建SSH密钥
要使用PuTTYgen在Windows上生成SSH密钥对,请执行以下步骤:
-
通过双击其.exe文件或转到Windows的“开始”菜单→PuTTY(64位)→PuTTYgen,启动PuTTYgen工具。

对于“要生成的密钥类型”,请保留默认的RSA。 对于大多数人来说,“生成的密钥中的位数” 2048就足够了。 或者,您可以将其更改为4096。
单击“生成”按钮以开始生成新密钥对的过程。

系统将要求您将鼠标移到“键”部分的空白区域上,以产生一些随机性。 移动指针时,绿色进度条将前进。 该过程应花费几秒钟。
生成过程完成后,公钥将显示在窗口中。

(可选)如果要使用密码短语,请在“密钥密码短语”字段中键入密码,然后在“确认密码短语”字段中确认相同的密码短语。 如果选择使用密码短语,则可以通过防止私钥遭到未经授权的使用来获得额外的安全保护。
通过单击“保存私钥”按钮来保存私钥。 您可以使用.ppk扩展名(PuTTY私钥)将文件保存在任何目录中,但是建议将其保存在易于找到的位置。 私钥文件通常使用描述性名称。
您也可以选择保存公钥,尽管以后可以通过加载私钥来重新生成它。
右键单击标有“用于粘贴到OpenSSHauthorized_keys文件的公共密钥”的文本字段,然后单击“全选”选择所有字符。 打开文本编辑器,粘贴字符并保存。 确保粘贴整个密钥。 建议将文件保存在与保存私钥相同的目录中,并使用与私钥相同的名称以及.txt或.pub作为文件扩展名。

这是将其添加到Linux服务器的关键。
将公钥复制到您的Linux服务器
现在您已经生成了SSH密钥对,下一步是将公共密钥复制到要管理的服务器上。
启动PuTTY程序并登录到您的远程Linux服务器。
如果您的用户SSH目录不存在,请使用mkdir命令创建它并设置正确的权限:
mkdir -p ~/.ssh
chmod 0700 ~/.ssh
打开文本编辑器,并将在生成密钥对时在步骤4中复制的公共密钥粘贴到
~/.ssh/authorized_keys
文件中:
nano ~/.ssh/authorized_keys
整个公钥文本应该在一行上。
运行以下
chmod
命令以确保只有您的用户才能读写
~/.ssh/authorized_keys
文件:
chmod 0600 ~/.ssh/authorized_keys
使用SSH密钥登录到服务器
Pageant是PuTTY SSH身份验证代理,可将私钥保存在内存中。 Pageant二进制文件是PuTTY.msi安装软件包的一部分,可以通过进入Windows的“开始”菜单→PuTTY(64位)→Pageant来启动。
启动Pageant时,它将在系统托盘中放置一个图标。 双击图标,将打开“选美”窗口。
要加载密钥,请按“添加密钥”按钮,这将打开一个新文件对话框。 找到私钥文件,然后按“打开”。 如果您尚未设置密码,则密钥将立即加载。 否则,将提示您输入密码。

输入密码,Pageant将加载私钥。
完成上述步骤后,您应该能够登录到远程服务器而无需提示输入密码。
要对其进行测试,请打开一个新的PuTTY SSH会话,然后尝试登录到服务器。 PuTTY将使用已加载的密钥,您将无需输入密码即可登录Linux服务器。
禁用SSH密码认证
要为服务器添加额外的安全性,您可以禁用SSH的密码身份验证。
在禁用SSH密码身份验证之前,请确保您可以不使用密码登录服务器,并且使用sudo特权登录的用户。
登录到远程服务器,并使用文本编辑器打开SSH配置文件
/etc/ssh/sshd_config
:
sudo nano /etc/ssh/sshd_config
搜索以下指令并进行如下修改:
/ etc / ssh / sshd_config
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
完成后,保存文件并通过键入以下命令重新启动SSH服务:
sudo systemctl restart ssh
此时,将禁用基于密码的身份验证。
结论
在本教程中,您学习了如何生成新的SSH密钥对并设置基于SSH密钥的身份验证。 您可以将同一密钥添加到多个远程服务器。 我们还向您展示了如何禁用SSH密码身份验证以及如何为服务器添加额外的安全性。
默认情况下,SSH侦听端口22。更改默认SSH端口将降低自动攻击的风险。
SSH安全










