ssh免密登录原理图(ssh 免密码登录)

ssh免密登录原理图(ssh 免密码登录)目录 前言 一 使用虚拟机克隆 Linux 系统 1 相关信息 2 克隆之前与之后的 Linux 系统的信息展示 3 注意事项 4 克隆的具体操作步骤 二 SSH 免密远程登录具体步骤 三 ssh 远程免密登录的原理性的知识 本文利用虚拟机中已有的一台 Linux 系统 克隆出另一台完全一样的 Linux 系统 并实现两台虚拟机之间的免密登录 这其中涉及到 防火墙的关闭 本地的域名解析配置 公钥私钥的生成等过程

大家好,我是讯享网,很高兴认识大家。



目录

前言

一 使用虚拟机克隆Linux系统

1 相关信息

2 克隆之前与之后的Linux系统的信息展示

3 注意事项

4 克隆的具体操作步骤

二 SSH免密远程登录具体步骤

三 ssh远程免密登录的原理性的知识


本文利用虚拟机中已有的一台Linux系统,克隆出另一台完全一样的Linux系统,并实现两台虚拟机之间的免密登录。这其中涉及到:防火墙的关闭、本地的域名解析配置、公钥私钥的生成等过程。

      采用系统:Centos7

      采用的虚拟机:VMware

克隆之前的Linux系统信息如下:

两台机器处于同一个网段中

互相通信应该遵循同一个通信协议,这是是ssh,端口号为22

第一步:关闭防火墙

firewall-cmd –state 

centos8 配置ssh免密登录 centos设置ssh免密登录_远程免密登录
讯享网

systemctl stop firewalld.service 

systemctl disable firewalld.service

              steps4: 再次验证防火墙是否关闭

centos8 配置ssh免密登录 centos设置ssh免密登录_linux_02

第二步:关机linux1:shutdown -h now

关机原因:在虚拟机中克隆机器的时候需要关闭Linux系统

第三步:在VMware的“我的计算机”中,选中要克隆的Linux系统,右键->管理->克隆

centos8 配置ssh免密登录 centos设置ssh免密登录_远程免密登录_03

第四步:不断的下一步,遇到下面的两幅图的时候,需要进行修改,分别如下图:

图1

centos8 配置ssh免密登录 centos设置ssh免密登录_SSH_04

图2

centos8 配置ssh免密登录 centos设置ssh免密登录_远程免密登录_05

第五步: 显示结果如图:

centos8 配置ssh免密登录 centos设置ssh免密登录_SSH_06

第六步:修改克隆出来的Linux系统:修改其系统名称以及静态IP地址

           steps1: 开机MyTestLinux2

hostnamectl set-hostname linux2

hostname

centos8 配置ssh免密登录 centos设置ssh免密登录_远程免密登录_07

vim /etc/sysconfig/network-scripts/ifcfg-ens33

centos8 配置ssh免密登录 centos设置ssh免密登录_远程免密登录_08

          steps4: 重启linux2虚拟机。

至此:一台新的机器linux2就克隆好了。

 

第一步:分别在linux1和linux2的虚拟机的家目录下创建一个隐藏的文件夹 .ssh:mkdir /.ssh

第二步:分别修改linux1和linux2的hosts文件: vim /etc/hosts

将linux1和linux2的固定IP添加到文件里:如下

                         

centos8 配置ssh免密登录 centos设置ssh免密登录_linux_09

该步的作用是:等同于域名解析的作用,如果不配置这一步,我们要想从linux1的服务器连接到linux2的服务器,就需要使用linux2的完整ip地址,如:ssh 192.168.112.131,现在配置了这一步,我们是将linux2和192.168.112.131绑定起来了,现在只需要使用命令: ssh linux2就可以进行登录linux2的服务器了。

第三步:分别在linux1和linux2的/.ssh文件夹中生成公钥私钥:

以linux1为例:

cdmod 700 ~/.ssh  

cd https://blog.51cto.com/u_/ssh

ssh-keygen -t rsa

                                      

centos8 配置ssh免密登录 centos设置ssh免密登录_centos8 配置ssh免密登录_10

                  此时,.ssh文件夹下会生成两个文件:id_rsa.pub(公钥)、id_rsa(私钥)

cat id_rsa.pub>> authorized_keys

chmod 600 authorized_keys

scp authorized_keys root@linux2:/.ssh

centos8 配置ssh免密登录 centos设置ssh免密登录_linux_11

在linux2中,做与上面6步相同的步骤 ,区别在于,在steps6中,应该将authorized_keys文件从linux2拷贝到linux1的/.ssh文件夹中。

第四步: 验证是否可以免密登录:

在linux1系统中:ssh linux2 

在linux2系统中:ssh linux1

如果上述不提示输入密码即可实现远程登录,那么就证明免密登录已经设置完毕了。

如果仍然提示输入密码才能进行远程登录,那么,将两个系统中的/.ssh文件夹删掉,并重新执行上述步骤,即可。

注意:如果没有配置免密登录,例如,在linux1系统中,直接输入ssh linux2,第一次连接的情况下,需要输入yes,并且在.ssh文件夹中产生一个known_hosts文件。并且此时是需要提供密码的,如下图:

centos8 配置ssh免密登录 centos设置ssh免密登录_SSH_12

至此:ssh进行免密登录就全部完成了。

需要注意的坑:权限的修改、authorized_keys文件的名称不能出错。

 

ssh进行远程免密登录涉及到公钥私钥的相关知识,具体原理性东西太多,请参考以下博客。强烈建议仔细认真的研读该博客,个人认为上面的教程步骤只是表象,我们更应该思考的是:为什么这样做了就能够实现了免密登录??? 知其然知其所以然才是学习应该做的事。

小讯
上一篇 2025-05-08 09:30
下一篇 2025-04-14 13:56

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/175586.html