目录
一、前言
上图出自网络
SSH这种基于密钥的认证方式比基于口令的认证方式更加安全,因为它不需要在网络上传送敏感的口令信息。此外,由于公钥是公开的,任何人都可以获取到它,因此即使有人截取了加密的登录信息,由于没有私钥,他们也无法登录到目标主机。
通过使用公钥加密技术,可以保证数据在传输过程中的安全性,同时还可以实现方便的无密码登录。MobaXterm设置无密码登录的原理是使用公钥加密技术来实现。具体原理如下:
生成密钥对:在本地计算机上,使用ssh-keygen工具生成密钥对,包括公钥和私钥。公钥用于加密数据,私钥用于解密数据。
将公钥复制到远程主机:将生成的公钥复制到远程主机的.ssh目录下的authorized_keys文件中。这样远程主机就可以使用公钥来加密数据,并将加密后的数据传输给本地计算机。
无密码登录:在使用MobaXterm登录远程主机时,MobaXterm会自动将本地计算机上的私钥与远程主机上的公钥进行匹配。如果匹配成功,就可以实现无密码登录。
实现A机免密登录B:
A首先生成公钥和私钥,A将公钥拷贝到B机.ssh目录下,A向B发起SHH请求,B接收请求后在authorized_keys中查看密钥后产生一段用A公钥加密的随机的字符串,将字符串发送A,A私钥解密后返还B,B检验一致后允许A机免密登录。
先决条件
- 下载安装Redhat系统
- 下载MoxbaXterm
二、操作步骤
生成密钥对
1.启动虚拟机“Redhat”
2打开“MoxbaXterm”
单击Tool,选择MobaKeyGen(SSH key generator) ,打开操作界面
单击Generate按钮,开始生成密钥对(生成过程可以左右移动鼠标为生成密钥加速)
密钥生成完成
未设置私钥密码(Key 从、passphrase),MobaXterm会弹出警告,选择【是(Y)】忽略
注意:
私钥密码相当于再给锁上加锁,更安全。即便遗失,也不用担心。连接远程主机时,必须输入密码才能使用私钥
一般不需要这样的安全等级,不需要设置私钥密码
复制密钥
保存公钥和私钥
在Windows创建ProLinux文件夹
在该目录下新建文本文档”mk.pub”以记事本方式打开将复制的密钥放入其中
① 按"F2"重命名该文本文档
② 修改文件名为 "mk.pub",按【Enter】键保存
点击”Save private key”保存密钥
选择保存在”ProLinux”中命名为”mk.ppk”
按照步骤操作完毕后,会得到两个文件
① mk.pub:公钥文件,必须上传到远程主机(详情见下一小节)。
② mk.ppk:私钥文件,在MobaXterm的Session属性中启用之后,连接远程主机生效
复制”mk.pub”副本改名为”authorized_keys”
打开”Red hat”
在/root目录下新建隐藏文件夹”.ssh”
上传私钥
在MobaXterm点击“地球”图标,点击第三个“向上箭头”将公钥”authorized_keys”上传至/root/.ssh中(也可上传至家目录下/home/NAME/.ssh以实现普通用户登录)
查看是否上传成功
启用私钥,使用私钥ssh登录远程节点
在MobaXterm右键单击Red Hat(此处是10.0.0.87),点击Edit Session
在Session setting中点击Advanced SSH settings选中Use private key,选择文件”mk.ppk”并保存。
双击打开虚拟机
输入用户名,完成免密登录
三、总结
以上操作即可实现免密登录,希望对你有所帮助!