前言
虚拟机使用ssh连接时为了安全起见,一般在输入ip连接以后需要使用密码进行登录,之后可以在远程连接设备中记住密码。除此之外,我们可以通过使用传输密钥进行来免密登录,从而减少登录时产生的不必要的时间。
在操作之前需要了解什么是密钥对:
密钥对包括一个私钥文件(Private Key),公钥文件(Public Key)。
在非对称加密系统中,公钥用于加密数据或验证签名,而私钥用于解密数据或创建签名。公钥是公开的,可以安全地与他人共享;私钥则必须保密,只有密钥的拥有者才能访问。利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录
本博客使用的远程连接软件为MobaXterm,虚拟机为Redhat.
目录
2.连接成功以后点击[Tools],再点击[MobaKeyGen(SSH key generator)]
4.生成密钥时将鼠标放在白框里面左右移动,以加快生成速度,大概会持续几十秒左右
2.进入文件夹新建文本文档,改为ssh.pub,出现提示,点击是
5..回到【MobaXterm SSH Key Generator】界面,点击【save private key】
6.选择创建的文件夹路径,然后保存文件名为ssh(默认保存为ppk文件)
7.完成后进入创建的文件夹,查看会出现两个文件,一个ssh.pub(公钥文件,其必须上传到远程主机),一个ssh.ppk(私钥文件)
复制ssh.pub文件,然后直接在里面粘贴,就会出现【ssh - 副本.pub】文件。
2.回到MobaXterm,双击进入之前创建的远程连接,在/root/下,点击搜索框上面最中间的黄色符号创建一个隐藏文件.ssh(.表示隐藏文件)
3.点击刚刚创建的.ssh文件,进入该文件后,点击上方左边第三个箭头向上的符号进行上传文件。
2.点击Advanced SSH settings,然后勾选Use private key左边的方框
3.点击Use private key 右边方框里的蓝色文件图标,上传ssh.ppk文件,完成后点击ok
1.点击上方的settings图标,进入后点击General,
2.点击【MobaXterm passwords management】,如果里面有密码,点击Delete all进行删除,然后点ok,没有就直接点ok
ps:步骤思路简单,操作easy
1.启动虚拟机连接MobaXterm
2.连接成功以后点击[Tools],再点击[MobaKeyGen(SSH key generator)]
3.点击【Generate】,生成密钥
4.生成密钥时将鼠标放在白框里面左右移动,以加快生成速度,大概会持续几十秒左右
5.密钥生成后选择复制
6.保存密匙
1.在方便自己寻找的路径下创建proLinux文件夹
2.进入文件夹新建文本文档,改为ssh.pub,出现提示,点击是
3.修改完成后选择打开方式为记事本
4.将复制的密钥粘贴,然后保存
5..回到【MobaXterm SSH Key Generator】界面,点击【save private key】
此时会弹出安全提示,点击【是】
6.选择创建的文件夹路径,然后保存文件名为ssh(默认保存为ppk文件)
7.完成后进入创建的文件夹,查看会出现两个文件,一个ssh.pub(公钥文件,其必须上传到远程主机),一个ssh.ppk(私钥文件)
7.上传公钥
1.准备authorized_keys文件
复制ssh.pub文件,然后直接在里面粘贴,就会出现【ssh - 副本.pub】文件。
按F2将其改名【为authorized_keys】,此时会出现提示,选择【是】
此时三个文件就准备好了,如图
2.回到MobaXterm,双击进入之前创建的远程连接,在/root/下,点击搜索框上面最中间的黄色符号创建一个隐藏文件.ssh(.表示隐藏文件)
3.点击刚刚创建的.ssh文件,进入该文件后,点击上方左边第三个箭头向上的符号进行上传文件。
选择authorized_keys文件进行上传。
上传完成后在.ssh文件里就会有改文件
8.上传私钥
1.右键该账户,选择Edit session
2.点击Advanced SSH settings,然后勾选Use private key左边的方框
3.点击Use private key 右边方框里的蓝色文件图标,上传ssh.ppk文件,完成后点击ok
9.测试免密登录是否成功
1.点击上方的settings图标,进入后点击General,
2.点击【MobaXterm passwords management】,如果里面有密码,点击Delete all进行删除,然后点ok,没有就直接点ok
3.退出连接,重新双击该账户,就可以直接进入了
总结
免密登录作为Linux操作的一项基本技术,可以有很多种方式来实现,本文仅在MobaXterm进行操作,SSH免密登录的原理是利用公钥加密算法和密钥对来进行身份验证。在免密登录过程中,用户在服务器端生成一对密钥(公钥和私钥),并将公钥保存在服务器上。当用户尝试登录时,服务器会验证用户的私钥是否匹配服务器上保存的公钥。如果匹配成功,用户即可成功登录。这个过程中不需要输入密码,因此称为免密登录。创作不易,拒绝盗版