如何在Windows 10上通过PuTTY使用基于SSH密钥的登录

时间:2020-03-21 11:48:22  来源:igfitidea点击:

与服务器建立SSH连接的身份验证有两种,一种是基于密码的身份验证,另一种是基于SSH密钥的身份验证。
与传统的基于密码的身份验证相比,基于SSH密钥的身份验证最安全。
基于SSH密钥的身份验证不易受到攻击。

建议使用此步骤来确保root登录到服务器的安全。
对于系统管理员来说,这是必要的步骤,可保护服务器免受外部攻击。
本教程说明了如何使用Windows OS上的PuTTY软件使用基于SSH密钥的身份验证连接服务器。

步骤1(将普通用户添加到相应的Linux发行版)

在Ubuntu/Debian上

root@theitroad:~# adduser theitroad

在CentOS/RHEL上
添加普通用户

root@theitroad:~# adduser theitroad

为普通用户添加密码

root@theitroad:~# passwd theitroad

向普通用户授予sudo权限
在Ubuntu/Debian上

root@theitroad:~# gpasswd -a theitroad sudo

在CentOS/RHEL上

root@theitroad:~# gpasswd -a theitroad wheel

步骤2(生成公共和私有SSH密钥)

root@theitroad:~# ssh-keygen -t rsa

打开公共SSH密钥并将其复制以供将来使用

root@theitroad:~# cat /root/.ssh/id_rsa.pub

输出示例

将上述公共密钥保存到记事本中以备将来使用

步骤3(将SSH公钥添加到普通用户)

将root用户切换为普通用户

root@theitroad:~# su - theitroad

创建SSH目录

theitroad@theitroad:~$mkdir .ssh

提供对目录的安全700权限

theitroad@theitroad:~$chmod 700 .ssh

将生成的公钥添加到文件中

theitroad@theitroad:~$vi .ssh/authorized_keys

提供文件的安全600权限

theitroad@theitroad:~$chmod 600 .ssh/authorized_keys

从普通用户注销

theitroad@theitroad:~$exit

步骤4(禁用使用SSH的root用户登录)

在Ubuntu/Debian上

root@theitroad:~# vi /etc/ssh/sshd_config

找到线

PermitRootLogin yes

更改为

PermitRootLogin no

在CentOS/RHEL上

root@theitroad:~# vi /etc/ssh/sshd_config

找到线

#PermitRootLogin yes

更改为

PermitRootLogin no

重新启动SSH服务以确认更改
最后重新启动SSH服务以进行更改

root@theitroad:~# systemctl restart ssh

步骤5(复制专用SSH密钥)

root@theitroad:~# cat /root/.ssh/id_rsa

输出示例

将私密SSH密钥保存到记事本文件
打开记事本,然后将“私密SSH”密钥保存到其中,并使用.txt扩展名进行保存。

步骤6(下载并安装PuTTY软件)

我们可以从官方下载Putty软件包(putty-installer.msi)并将其安装在相应的Windows操作系统上。

将SSH私钥保存在.ppk扩展名中
从开始菜单中打开PuTTYGen

加载以.txt扩展名保存的已保存私钥SSH密钥

最后将私钥保存到其自己的.ppk扩展名中

步骤7(使用SSH私钥的基于SSH密钥的身份验证)

从开始菜单打开PuTTY

选择我们在本教程中创建的普通用户

选择专用SSH密钥文件进行身份验证

将IP设置为使用基于SSH私钥的登录名登录,最后点击open打开终端

如果我们成功通过了身份验证,我们将看到如下所示的终端窗口。

如果有人尝试使用基于SSH密码的登录名,则将获得拒绝访问的信息,这将使服务器如此安全且不易受到攻击。

现在我们已经在Windows 10上成功配置了基于Putty SSH密钥的登录。