MobaXterm有记住密码功能,连接远程主机不会提示密码,使用方便。
如有以下需求,可以阅读本文章进行操作。
① 远程主机未开启密码登录支持,仅支持密钥登录;
② 可能存在多终端设备(如Windows、Mac、手机等)连接远程主机的情况;
③ 重视个人隐私,不希望有软件记录远程主机密码;
一、什么是密钥对
**密钥对:**在非对称加密技术中,有两种密钥,分为公钥和私钥。
公钥是密钥对所有者持有,公布给他人的;私钥也是密钥对所有者持有,不可公布。
如果你是第一次使用无密码登录,需要生成密钥对。密钥对生成后,可以重复使用,不需要每次生成;
如果你有密钥对,直接上传公钥(锁)到远程主机,使用私钥(钥匙)可以登录远程主机。不用再生成密钥对。
密钥对包括两个文件:
私钥文件(Private Key) 公钥文件(Public Key)
二、生成密钥对
1. 启动虚拟机redhat 9
2. 打开MobaXterm
①点击 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重命名
②修改文件名为 “mk.pub”,按**【Enter】键保存
③弹出重命名警告,选择是**
完成后,得到的文件如图所示:
**5.**选中并右击"mk.pub"文件
右键>打开方式>记事本
**6.**粘贴公钥内容(刚才复制的内容)并保存
7.回到MobaXterm SSH Key Generator界面
单击**【Save private key】按钮,开始保存【私钥文件】**操作
**8.未设置私钥密码,MobaXterm会弹出警告,选择【是(Y)】**忽略
**9.进入刚才创建的"ProLinux"文件夹,在【文件名(N):】**中填写私钥文件名
① 此处以**【mk】**为例
② 单击**【保存】**按钮,保存私钥文件
**【保存类型】**默认是 “*.ppk”,最终私钥文件名为 “mk.ppk”
**10.**密钥文件
操作完上述步骤会得到两个文件
① mk.pub:公钥文件,必须上传到远程主机
② mk.ppk:私钥文件,在MobaXterm的Session属性中启用之后,连接远程主机生效
四、上传公钥
**1.**准备authorized_keys文件
①选中 “mk.pub” 按**【Ctrl+C】复制文件
②按【Ctrl+V】粘贴文件,创建"mk - 副本.pub"
③按“F2”将文件名改为“authorized_keys”**
④弹出**【重命名】提示选择【是】**
配置文件准备好了
**2.双击【User sessions 10.0.0.168】**连接远程主机
**3.**单击 “/root/” 上方中间的黄色文件图标 创建名为 “.ssh” 的隐藏文件夹
注:Linux系统中,以点 “.” 开头的文件或文件夹均为隐藏文件
**4.**双击进入 “.ssh” 文件夹,接着单击浅绿色向上箭头“ ↑ ”图标上传文件
**5.在弹出的选择框中,找到【Prolinux】文件夹下的【authorized_keys】**文件,双击选择
6.上传成功后,在目录树中会看到"authorized_keys"
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e5d838dc8c754b67afdfefebd9f64635.png
五、启用私钥,使用私钥ssh登录远程节点
**1.**右击 **【User sessions 10.0.0.168】选择【Edit session 】**编辑远程主机配置参数
![请添加图片描述](https://img-blog.csdnimg.cn/direct/3fb740519d43492b87fac44058270958.png
**2.**弹出设置界面
①选择**【Advanced SSH settings】标签
②找到【User private key】**参数,单击输入框尾部的文件图标
![请添加图片描述](https://img-blog.csdnimg.cn/direct/e4c312754fe44616bf36b6a047a8bcdd.png
**3.**弹出文件选择框
① 双击私钥文件**【mk.ppk】**
② 单击**【打开】**
![请添加图片描述](https://img-blog.csdnimg.cn/direct/2f356b30778e450cb809964126cbc247.png
**4.单击【OK】**保存配置
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/51c1e67fdb01467bbeb8b450a50602fc.png
六、测试无密码登录
**1.**启用私钥后,需确认私钥是否生效
①点击**【Setting】**
②进入**【General】界面
③点击【MobaXterm passwords management】**
![请添加图片描述](https://img-blog.csdnimg.cn/direct/abd5f52eef12448986addf676bdf0407.png
**2.**删除密码
① 选中之前保存的密码
② 单击**【Delete all】**
注:会弹出提示,单击**【是】**
![请添加图片描述](https://img-blog.csdnimg.cn/direct/5ecfdeea07d94fc09e37c99bacc16e84.p
③单击【OK】
3.退出MobaXterm与远程主机的连接
在MobaXterm主界面双击【User sessions 10.0.0.168】,测试连接远程主机
**4.**如果登录成功,说明私钥设置没问题
七、无法免密登陆
**1.**sshd配置不正确
正确配置方法如下:
vim /etc/ssh/sshd_config
2.
①找到 #StrictModes yes 改成 StrictModes no (去掉注释后改成 no)
②找到 #PubkeyAuthentication yes 改成 PubkeyAuthentication yes (去掉注释)
③找到 #AuthorizedKeysFile .ssh/authorized_keys 改成 AuthorizedKeysFile .ssh/authorized_keys (去掉注释)
④保存 wq
⑤重启ssh服务
service sshd restart
**3.在MobaXterm主界面双击【User sessions 10.0.0.168】测试能否免密登录
本文完