RedHat:MobaXterm免密登录保姆级教程(普通用户和root用户)


参考:https://blog.csdn.net/xjp_xujiping/article/details/120291721

前言

                                              **密钥对**

密钥对(Key Pair)是在非对称加密技术中使用的两种密钥,即公钥(Public Key)和私钥(Private Key)。这两种密钥在密钥对中相互关联,但具有不同的功能和用途。
公钥是用于加密数据的密钥,它可以公开给任何人使用。任何人都可以使用公钥来加密数据,但只有持有相应私钥的人才能解密这些数据。这种加密方式确保了数据的机密性,因为只有私钥的持有者才能解密和读取加密的数据。
私钥是用于解密公钥加密的数据的密钥,必须保持私密并由密钥对的所有者持有。私钥不能公开,否则任何人都可以解密使用该私钥加密的数据,从而破坏加密的安全性。私钥的持有者可以使用它来解密由公钥加密的数据,确保只有授权的人能够访问这些数据。
密钥对通常用于各种安全通信和加密应用,如SSH登录、HTTPS、TLS等。通过使用密钥对,可以实现安全的身份验证和数据加密,保护数据的机密性和完整性。
在MobaXterm中,密钥对可以用于实现免密登录。用户可以生成密钥对,将公钥上传到远程主机的授权文件中,并在MobaXterm的Session属性中指定私钥文件的路径。这样,在建立SSH连接时,MobaXterm会自动使用私钥文件进行身份验证,实现免密登录的功能。
请注意,密钥对的安全性至关重要。私钥必须妥善保管,避免丢失或被盗。公钥可以公开,但应该只上传到受信任的远程主机上,并确保授权文件的配置正确无误。
MobaXterm免密登录
要在MobaXterm中实现免密登录,你可以按照以下步骤进行操作:
首先,确保你已经在双方的电脑上安装了ssh服务器与客户端。这是实现免密登录的前提条件。
在MobaXterm中,打开一个新的会话(Session)并连接到你的远程主机。
一旦连接成功,右键点击该会话,并选择“Rename Session”(重命名会话)。
在弹出的界面中,勾选“Save SSH keys”(保存SSH密钥)选项。这样,MobaXterm将会保存你的SSH密钥信息,以便后续使用。
关闭并重新打开MobaXterm,然后再次尝试连接到远程主机。此时,你应该能够实现免密登录,不再需要输入密码。
请注意,上述步骤假设你已经正确配置了SSH密钥对(包括公钥和私钥),并且已经将公钥上传到远程主机的授权文件中(通常是~/.ssh/authorized_keys)。如果你还没有完成这些步骤,你需要先生成密钥对,并将公钥上传到远程主机。
另外,如果你在使用MobaXterm的SSH Key Generator工具生成密钥对时选择了设置私钥密码,那么在首次使用私钥进行连接时,你需要输入该私钥密码。但是,一旦你保存了SSH密钥信息并实现了免密登录,后续连接就不需要再输入私钥密码了。
mk.pub:公钥文件,必须上传到远程主机。
在MobaXterm中实现免密登录时,将公钥上传到远程主机的授权文件(通常是~/.ssh/authorized_keys)是必要的步骤之一。这是基于SSH(Secure Shell)协议的工作原理。
SSH协议使用密钥对(包括私钥和公钥)来进行身份验证和加密通信。私钥是保存在客户端(例如你的本地电脑)上的,而公钥则上传到远程主机上,并添加到授权文件中。
当你尝试使用SSH连接到远程主机时,远程主机会要求你提供身份验证信息。如果你选择了使用密钥对进行身份验证,MobaXterm会读取你保存在本地的私钥,并生成一个加密的消息,使用公钥进行加密,然后发送给远程主机。
远程主机接收到加密的消息后,会使用存储在其授权文件中的公钥来解密该消息。如果解密成功,并且公钥与授权文件中的条目匹配,远程主机就会认为你是合法的用户,并允许你进行登录。
因此,将公钥上传到远程主机的授权文件中是实现SSH免密登录的关键步骤之一。这样,远程主机就能够验证你的身份,并允许你无需输入密码即可登录。
请注意,为了保证安全,公钥应该是私有的,并且只应该被上传到受信任的远程主机上。同时,私钥也应该妥善保管,避免丢失或被盗。
mk.ppk:私钥文件,在MobaXterm的Session属性中启用之后,连接远程主机生效。
在MobaXterm中实现免密登录时,你需要在MobaXterm的Session属性中启用私钥文件。这是因为在SSH连接过程中,MobaXterm需要使用私钥文件来进行身份验证。
当你配置一个SSH会话时,MobaXterm会要求你提供远程主机的IP地址、用户名以及其他连接参数。在Session属性中,你可以指定私钥文件的路径,这样MobaXterm就知道在连接远程主机时使用哪个私钥文件进行身份验证。
当你启用私钥文件后,MobaXterm会在后台使用SSH协议与远程主机进行通信。在建立连接时,MobaXterm会自动使用指定的私钥文件生成一个加密的消息,并发送给远程主机。远程主机使用其存储的公钥来解密该消息,并验证你的身份。
如果验证成功,远程主机就会接受你的连接请求,并允许你进行免密登录。这样,你就不需要在每次连接时都手动输入密码了。
因此,在MobaXterm的Session属性中启用私钥文件是实现免密登录的关键步骤之一。这样,MobaXterm就能够自动使用私钥文件进行身份验证,并在连接远程主机时生效。
请注意,为了确保安全,私钥文件应该妥善保管,避免丢失或被盗。同时,你也应该只将公钥上传到受信任的远程主机上,并确保授权文件的配置正确无误。

1.生成密钥对

(1)启动虚拟机RedHat

在这里插入图片描述

(2)MobaXterm远程连接

【1】点击session。
在这里插入图片描述【2】点击SSH,使用SSH方式连接服务器,输入主机ip、端口号、会话名,点击ok创建session。

【3】输入用户名和密码,登录成功。
在这里插入图片描述

(3)生成密钥对ssh_key

【1】点击工具菜单Tools,点击MobaKeyGen(SSH key generator)用于生成密钥对ssh_key并导出的工具,打开其操作界面。
在这里插入图片描述
【2】选择RSA和2048参数,点击Genarate,开始生成密钥对。
RSA —— 经典的非对称加密算法
非对称加密算法中,有两个密钥:公钥和私钥。它们是一对,如果用公钥进行加密,只有用对应的私钥才能解密;如果用私钥进行加密,只有用对应的公钥才能解密。
    非对称加密算法实现机密信息的交换过程为:甲方生成一对密钥并将其中一个作为公钥向其他方公开;得到该公钥的乙方使用该密钥对机密信息进行加密后发送给甲方;甲方再用自己的另一个专用密钥对加密后的信息进行解密。
在这里插入图片描述
【3】移动鼠标可以产生更多随机数,从而加速过程,生成约一分钟。

【4】密钥对生成完毕,不要关闭此页面,进行后续操作。
在这里插入图片描述

2. 保存公钥和私钥

【1】打开文件资源管理器,右击鼠标,点击新建->文件夹,创建ProLinux文件夹,用于保存公钥文件和私钥文件 。
在这里插入图片描述
【2】双击进入ProLinux文件夹,右击鼠标,点击新建->文本文档,创建新建文本文档,用于保存公钥,点击新建文本文档,使用F2或右上角的重命名工具,将文件名修改为mk.pub,按Enter键保存,出现重命名警告,选择是,文件类型转变为PUB文件。
在这里插入图片描述
注意:若重命名后文件类型无法更改为PUB文件,点击右上角的三个点,点击选项->查看,将隐藏已知文件类型的拓展名前面的勾取消,点击确定,设置成功后,重启文件资源管理器后,再次进行重命名操作,把文件名修改为需要的文件名,即可将文件类型转换成功。
在这里插入图片描述
在这里插入图片描述
【3】双击打开mk.pub文件或点击mk.pub文件,右击鼠标,点击打开方式->记事本,打开mk.pub文件,点击右上角的小化,小化mk.pub文件。在这里插入图片描述在这里插入图片描述

在这里插入图片描述
【4】返回当时未关闭的生成密钥对的页面MobaXterm SSH Key Generator,用鼠标选中Public key for pasting into Open SSH server(~/.ssh/authorized_keys file)框中的所有内容,右击鼠标,点击复制,或者按Ctrl+c复制。
在这里插入图片描述
【5】返回小化的mk.pub文件,右击鼠标,点击粘贴,或按Ctrl+v粘贴,点击左上角的文件->保存,保存公钥。
在这里插入图片描述
在这里插入图片描述
【6】返回当时未关闭的生成密钥对的页面MobaXterm SSH Key Generator,点击Save private key,或点击Conversion->Export OpenSSH key, 保存私钥文件,未设置私钥密码,MobaXterm弹出警告,选择是。
MobaXterm私钥密码
在MobaXterm中,私钥密码是一个可选的安全特性。当你生成密钥对(包括私钥和公钥)时,可以选择是否设置一个私钥密码。这个私钥密码是对私钥文件本身进行加密的一个额外安全措施。
如果你选择不设置私钥密码,MobaXterm会发出一个警告。这个警告的目的是提醒你,没有私钥密码保护的私钥文件如果丢失或被他人获取,那么该私钥文件就可以被任何人用来登录你的远程主机,因为它没有额外的密码保护。
尽管不设置私钥密码可能会带来一定的安全风险,但在某些情况下,用户可能出于方便或其他原因选择不设置。例如,用户可能只在受信任的内部网络中使用该私钥,或者他们可能经常需要使用该私钥,而不想每次都输入密码。
然而,请注意,无论你是否设置私钥密码,都应该确保私钥文件本身的安全。私钥文件应该妥善保管,避免丢失或被盗。如果可能的话,最好将私钥文件存储在加密的文件系统或硬件安全模块(HSM)中,以提供额外的安全保护。
总之,MobaXterm未设置私钥密码时发出的警告是为了提醒用户注意私钥文件的安全性。虽然不设置私钥密码可能会带来一定的风险,但用户可以根据自己的需求和安全策略来做出选择。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
【7】选择是之后,进入创建好的ProLinux文件夹,在文件名(N):中填写私钥文件名mk,保存类型为PuTTY Private Key Files(*.ppk),私钥文件名为mk.ppk。
在这里插入图片描述
【8】查看密钥文件,打开文件资源管理器,打开创建好的ProLinux文件夹,发现有mk.ppk,mk.pub两个文件,即为保存公钥和私钥成功。
mk.pub:公钥文件,必须上传到远程主机。
mk.ppk:私钥文件,在MobaXterm的Session属性中启用之后,连接远程主机生效。
在这里插入图片描述

3.上传公钥

【1】创建authorized_keys文件,保存公钥并上传至远程连接,点击mk.pub文件,右击鼠标,点击复制,或按Ctrl+C复制文件,再按Ctrl+v粘贴或右击鼠标选择粘贴,创建mk - 副本.pub文件。
在这里插入图片描述
【2】点击mk - 副本.pub文件,使用F2或右上角的重命名工具,将文件名修改为authorized_keys,按Enter键保存,出现重命名警告,选择是,文件类型转变为文件。
在这里插入图片描述
【3】配置文件配置成功。
在这里插入图片描述
【4】点击我的计算机Red Hat Enterprise Linux 9 64 位,打开虚拟机,双击User sessions RedHat,连接远程主机。在这里插入图片描述在这里插入图片描述
【5】SSH连接之后在左侧会自动显示SFTP页面(SSH browser SFTP),点击/home/zn 上方中间的黄色文件夹创建图标,弹出窗口,填写文件夹名字.ssh,点击ok即可创建隐藏文件夹.ssh。
在 Linux 中,任何以点开头的文件或目录都被视为隐藏。
在这里插入图片描述
【6】点击/home/zn 上方最右边的蓝色按钮,显示/隐藏文件按钮(Show hidden (dot) files)可以控制所有SFTP是否显示隐藏文件,显示隐藏文件,若出现.ssh隐藏文件夹,即为创建成功。
在这里插入图片描述
【7】双击进入.ssh文件夹,点击浅蓝色向上箭头“ ↑ ”图标上传文件,在弹出的选择框中,找到Prolinux文件夹下的authorized_keys文件,双击选择,点击打开(O)。
在这里插入图片描述在这里插入图片描述
【8】上传成功之后,在/home/zn/.ssh目录下可以看到authorized_keys文件。
在这里插入图片描述

4.启用私钥

【1】点击最左侧的星星图标(session),右击 User sessions RedHat选择Edit session 编辑远程主机配置参数。
在这里插入图片描述在这里插入图片描述【2】弹出设置界面,选择Advanced SSH settings标签,将 User private key参数前面的勾勾上,点击右边的蓝色文件图标,在弹出的ProLinux文件夹选择框中双击mk.ppk选择,点击打开。
在这里插入图片描述
在这里插入图片描述
【3】出现如下结果,点击ok,即可使用私钥文件进行远程登陆。
在这里插入图片描述

5.测试免密登录

【1】关闭远程连接,再次双击User sessions RedHat,连接远程主机,输入普通用户名称,按Enter键进入,即可免密登录。【普通用户】
在这里插入图片描述在这里插入图片描述在这里插入图片描述
注意:以普通用户免密登录时,出现Server refused our key,但是输入密码可以登录。
在这里插入图片描述
此时我们输入密码以普通用户登录,输入tail /var/log/secure,查看安全登录的日志,显示tail: cannot open ‘/var/log/secure’ for reading: Permission denied,说明普通用户权限不够,输入su -,输入密码,切换到root用户。
再次输入tail /var/log/secure,查看安全登录的日志,显示如下,可以看到明确的原因是权限设置不对,应将.ssh设为700,authorized_keys设为600。输入 chmod 700 /home/zn/.ssh,chmod 600 /home/zn/.ssh/authorized_keys,修改文件权限,再次重新远程连接,可以免密登录。
若多次是如下结果,多次进行权限修改,输入ls -al ,查看权限是否修改成功。
Mar 6 03:36:49 localhost sudo[123099]: pam_unix(sudo:session): session closed for user root
Mar 6 04:20:19 localhost gdm-password][123173]: gkr-pam: unlocked login keyring
Mar 6 04:27:58 localhost sshd[2969]: pam_unix(sshd:session): session closed for user zn
Mar 6 04:53:38 localhost sshd[2958]: pam_unix(sshd:session): session closed for user zn
Mar 6 04:53:38 localhost su[3047]: pam_unix(su-l:session): session closed for user root
在这里插入图片描述在这里插入图片描述在这里插入图片描述

【2】关闭远程连接,再次双击User sessions RedHat,连接远程主机,输入root用户名称,按Enter键进入,出现Server refused our key,输入密码,出现Access denied,说明root用户还没有进行启用私钥进行免密登录。【root用户】
在这里插入图片描述
【3】此时我们输入密码以普通用户登录,输入su -,输入密码,切换到root用户。 输入mkdir /root/.ssh,出现mkdir: cannot create directory ‘/root/.ssh’: File exists,说明目录.ssh已存在,输入ls -al查看root用户下所有文件和目录,可以看到.ssh已存在。
在这里插入图片描述
【4】输入cd .ssh,进入.ssh目录,输入ls,查看.ssh目录下的文件和目录,发现无文件和目录,由于/root/无法直接上传文件,输入cp /home/zn/authorized_keys /root/.ssh,将/home/zn/.ssh目录下的私钥文件复制到/root/.ssh下,再次输入ls,查看.ssh目录下的文件和目录,发现私钥文件已存在。这里也可以输入chmod 777 /root/,修改/root的权限,然后上传文件,但是这个操作会导致安全性不好,所以不建议使用。
在这里插入图片描述
【5】关闭远程连接,再次双击User sessions RedHat,连接远程主机,输入root用户名称,按Enter键进入,即可免密登录。【root用户】

6.测试是否可以多次免密登录

方法一
【1】点击Setting,进入General界面,点击MobaXterm passwords management,进入MobaXterm passwords setting界面,若之前保存了密码,选中之前保存的密码,点击Delete all,然后会出现一个提示,选择是,点击OK,若之前保存了密码直接点击ok
在单击【OK】这里插入图片描述
在这里插入图片描述

在这里插入图片描述
【2】退出远程连接,再次双击User sessions RedHat,连接远程主机,分别输入普通用户和root用户名称,按Enter键进入,都可免密登录即为免密登录设置成功。
在这里插入图片描述
在这里插入图片描述
方法二
【1】以root用户免密登陆进去后,输入passwd root,修改root用户的密码,关闭远程连接,再次双击User sessions RedHat,连接远程主机,分别输入root用户名称,按Enter键进入,可免密登录即为免密登录设置成功。
在这里插入图片描述
在这里插入图片描述
【2】以普通用户免密登陆进去后,输入passwd root,出现passwd: Only root can specify a user name.,说明普通用户权限不够,输入su -,切换root用户,输入passwd root,修改root用户的密码,关闭远程连接,再次双击User sessions RedHat,连接远程主机,分别输入普通用户名称,按Enter键进入,可免密登录即为免密登录设置成功。
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值