注:本文所使用的虚拟机系统为Red Hat Enterprise Linux 9.0商业版
1.了解私钥,公钥。
如果你是第一次使用无密码登录,需要生成密钥对。密钥对生成后,可以重复使用,不需要每次生成;
如果你有密钥对,直接上传公钥(锁)到远程主机,使用私钥(钥匙)可以登录远程主机
要设置虚拟机远程连接免密登录,我们需要使用私钥以及公钥,那么我们需要先了解什么是私钥和公钥。
私钥:
相当于门钥匙,作为登录远程主机的关键。
(私钥文件不能外泄,否则远程主机有严重的安全风险)
公钥:
相当于门锁,只要有钥匙就可以打开。公钥文件可以发布到任何地方,不需要保密。
2.生成密钥对
由于我们大部分是第一次使用无密码登录所以需要先生成密钥对,密钥对生成后可以重复使用。
我们需要打开我们的MobaXterm
点击tools中的MobaKeyGen
点击Generate开始生成密钥对
这样我们的密钥对就生成啦!!
3.创建私钥,公钥文件
生成密钥对后我们需要生成密钥文件,并用一个路径存储这些文件,在这之前,我们需要创建一个文件夹来进行存放这些文件,这里我使用的是F盘的路径。
ok啦准备工作搞好了,接下来我们生成密钥文件吧!
首先我们需要在刚创建好的文件夹ProLinux中生成一个文本文档
我们需要给该文本文档进行重命名并将此文档隐藏扩展名改为.pub,使其成为pub文件。
注:我们修改隐藏后缀时需要先将文件的隐藏扩展名找到。
按照图中方法就可以轻松找到文件的隐藏扩展名啦
点"是"后就会变成图中的pub文件,因为之前我已经创建过一个mk.pub文件,所以文件夹中不能出现重复文件。
我们需要将此文件以记事本打开,然后将MobaXterm生成密钥中Public key for pastinginto OpenSSH server下框中的内容复制到mk.pub文件中保存。
ok接下来就是保存私钥文件了
点击Save private key 后点击"是"
这里我们需要给私钥命名,与公钥文件一样mk,然后扩展名为.ppk,但是私钥文件默认扩展名为.ppk所以我们只需要输入mk即可。
同样,保存后会生成图中mk.ppk的ppk文件。
接下来,我们需要复制mk.pub文件,形成公钥文件。
将此文件副本重命名为 authorized_keys形成公钥文件。
到此我们的配置文件就准备齐全啦!
4.修改MobaXterm中的配置,将密钥文件分别设置到需要远程连的虚拟机和MobaXterm。
我们需要将公钥上传至需要远程连接的主机,将私钥设置在MobaXterm中,话不多说,开干吧!
打开MobaXterm远程连接至你的主机,我这里连接的主机是Red Hat Enterprise Linux 9.0商业版
1.将公钥上传至远程连接的虚拟机。
我们需要在/home/lzh/(家目录)目录下创建隐藏文件.ssh。
点击图中黄色加号文件夹即可以创建新文件夹,点击进入.ssh
接下来我们开始上传公钥,点击图中向上的箭头。
找到存放密钥路径下的公钥文件,上传。
上传成功后,文件夹中会出现此公钥文件。
我们也可以在远程连接的虚拟机中查看,输入如下代码
[lzh@redhat9 ~]$ cat /home/lzh/.ssh/authorized_keys
出现公钥后,说明公钥上传成功!!
2.将私钥设置在MobaXterm中所对应的虚拟机。
右键点击MobaXterm中所对应的虚拟机,点击Edit session
点击Advcanced SSH settings
勾选使用私钥,点击旁边文件图标将私钥文件mk.ppk上传,同时勾选指定用户名为你主机的账户名。
注:在指定用户名时需要确定你的.ssh文件在哪个账户下,如图我的.ssh文件在我自己的lzh账户下的家目录下所以我只能使我的账户无密码登录,而不能使root用户免密等陆,如果你的虚拟机为最小安装,当前只有root用户,那么.ssh文件需要在root用户下的家目录下,并且指定用户名为root。
点击ok,确认配置。
5.验证私钥是否生效。
点击MobaXterm中的Settings将所存储的密码删除。
点击 ok确认配置。
这样你就可以免密登录你的远程连接的虚拟机啦!
如果成功了,说明密钥对生效,免密登录成功!!!
本文内容到此结束。
作者:冷静谦虚学代码
日期:2024 3.5