一、什么是密钥对(公钥和私钥)
密钥对(Key Pair)是非对称加密技术中的概念,包括公钥(Public Key)和私钥(Private Key)两部分。公钥是对外公开的,用于给数据加密,而私钥则由密钥对所有者持有,用于解密公钥加密的数据。
在使用密钥对进行加密和解密时,发送方使用接收方的公钥对数据进行加密,接收方再使用自己的私钥进行解密。这样可以确保数据的机密性和完整性,因为只有持有相应私钥的用户才能解密数据。
密钥对常用于数字签名和身份验证等场景。例如,在SSH(Secure Shell)协议中,可以使用密钥对进行身份验证,以替代传统的用户名和密码登录方式。
二、如何生成密钥对(这里以Red Hat 9为例)
1、启动虚拟机“RHE9”
2、打开“MoxbaXterm”
① 单击【Tool】
②选择【MobaKeyGen(SSH key generator)】 ,打开操作界面
3.单击【Generate】按钮,开始生成密钥对
4、移动鼠标可以产生更多随机数,从而加速过程
5、密钥对生成完毕
三、保存公钥和私钥
1、准备工作
新建名为 "ProLinux" 的文件夹,用来保存公钥文件和私钥文件
我的文件夹绝对路径为:"D:\ProLinux"
2、选中【Public key for pasting into Open SSH server(~/.ssh/authorized_keys file)】框中的所有内容,鼠标右击复制
3、双击进入刚才创建的"ProLinux"文件夹
新建"文本文档"
4、选中【新建文本文档】
① 按"F2"重命名该文本文档
② 修改文件名为 "my.pub",按【Enter】键保存
5、选中并右击"my.pub"文件
选择>打开方式(H)>记事本
6、粘贴公钥内容(刚才复制的内容)
7、单击【文件】,选择保存
8、回到【MobaXterm SSH Key Generator】界面
单击【Save private key】按钮,开始保存【私钥文件】操作
9、未设置私钥密码,MobaXterm会弹出警告,选择【是(Y)】忽略(可以不用的担心)
进入刚才创建的"ProLinux"文件夹,在【文件名(N):】中填写私钥文件名
① 此处以【my】为例
② 单击【保存】按钮,保存私钥文件
小提示 【保存类型】默认是 "*.ppk",最终私钥文件名为 "my.ppk"
10、查看密钥文件
按照步骤操作完毕后,会得到两个文件
① my.pub:公钥文件,必须上传到远程主机
② my.ppk:私钥文件,在MobaXterm的Session属性中启用之后,连接远程主机生效
四、上传公钥
1、准备authorized_keys文件
选中 "my.pub" 按【Ctrl+C】复制文件
2、直接按【Ctrl+V】粘贴文件,创建"my - 副本.pub"
3、按“F2”将文件名改为“authorized_keys”
4、配置文件准备好了
5、双击【RHE9(root) 】连接远程主机
6、单击 "/root/" 上方中间的黄色文件的图标
7、创建名为 ".ssh" 的隐藏文件夹
小提示 Linux系统中,以点 "." 开头的文件或文件夹均为隐藏文件
8、双击进入 ".ssh" 文件夹,接着单击浅蓝色向上箭头“ ↑ ”图标上传文件,在弹出的选择框中,找到【Prolinux】文件夹下的【authorized_keys】文件,双击选择
9、上传成功后,在目录树中会看到"authorized_keys"
关闭连接标签
五、启用私钥,使用私钥ssh登录远程节点
1.右击 【RHE9(root)】选择【Edit session 】编辑远程主机配置参数
2.弹出设置界面
选择【Advanced SSH settings】标签
3.找到【User private key】参数,单击输入框尾部的文件图标
4.弹出文件选择框
① 双击私钥文件【my.ppk】
② 单击【打开】
5.设置效果如图所示,单击【OK】保存配置
六、测试无密码登录(这里是测试root用户免密登录)普通用户免密登录请看后面
1.启用私钥后,需确认私钥是否生效
点击【Setting】
2.进入【General】界面
点击【MobaXterm passwords management】
3.进入【MobaXterm passwords setting】界面
① 选中之前保存的密码
② 单击【Delete all】
注:这里是已经删过之后的图片
4、单击【OK】
5、退出MobaXterm与远程主机的连接,直接点×
6、在MobaXterm主界面双击【RHE9(root) 】,测试连接远程主机
7、输入root用户名登录,如不需要宿输入密码,及免密登录成功
以上是root用户免密登录,下面是普通用户的免密登录
七、普通用户免密登录
普通用户和root用户免密登录步骤大致相同,只不过普通用户比root用户多两个步骤,前面步骤都是一样的
普通用户免密登录只要对.ssh文件的权限更改一下即可
1、在MobaXterm主界面双击【RHE9(root) 】,先以普通用户身份登录
2、输入两条权限命令:chmod 700 /home/用户名/.ssh/
chmod 600 /home/用户名/.ssh/suthorized_keys
检测步骤和root用户免密登录一样
本文完~~~