zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

[云计算学习1]两台主机之间的SSH秘钥免登陆连接。详细教程

2023-04-18 17:00:14 时间

操作平台 CENTOS7
配置 2核4G虚拟机 两台

说明:网络里有两台Linux虚拟机,分别为主机1与主机2 。 如何让他们免密钥SSH连接?

1.第一步 Hosts是什么?

首先 , 我们了解Hosts是什么?
Hosts是系统中的一个无扩展名文件,可以使用记事本以及vim打开,它负责将 主机名域名映射到指定的IP地址。拿快递分拣来说,它可以决定一个包裹会被送到某地去。

以Centos系统为例:
Linux的hosts文件在路径 /etc/hosts
使用vim打开 /etc/hosts 之后,在末尾中添加

192.168.40.128 www.baidu.com

代表将 www.baidu.com 这个域名解析到本地的IP地址 192.168.40.128
当你访问 www.baidu.com 时 它会引导你到 IP地址 中的站点
说明了hosts文件的优先权是大于网页的

2.主机名的修改

内网中的两台主机如何通过主机名解析?
首先我们得设置我们的主机名,最好是简单好记的。
例如把我的主机名设置为 yjs
主机1的名字为 yjs
主机2的名字为 yjs2
输入以下命令:
编辑hosts文件前建议切换成超级用户ROOT 在终端输入 su

vim /etc/hostname

在这里插入图片描述

就出现了我们当前的主机名字 如何修改呢?
按下键盘上的 “i” 键启动编辑模式

⚠: 键盘请关闭中文模式

  1. 当底部出现 “–INSERT–” 的字样时 已经启动了编辑模式
  2. 修改完成后,按下键盘上的 "ESC"退出编辑模式
  3. 最后按下 "Shift + :"输入 “wq!” 意思为 : 回车保存并退出

这时再次输入下方命令查看是否成功修改。

cat /etc/hostname

然后进行下一步操作
我是不是写的太详细了些

3.ifconfig命令与hosts解析

  1. 首先查看主机1的IP地址
  2. 使用Ifconfig命令查看我们的IP地址
  3. 在终端输入命令 ifconfig
ifconfig

在这里插入图片描述
主机1IP地址为: 192.168.40.130
主机1的名字为 yjs
然后以同样的方法获取主机2的 IP地址

  • 主机2IP地址为: 192.168.40.128
  • 主机2的名字为 yjs2

重点

  • 然后就是在主机1中打开我们的hosts文件。把IP解析到我们的主机2的名下 (yjs2)
vim /etc/hosts

在这里插入图片描述

完事后保存并退出。
我们再Ping一下主机2是否已经成功解析
在这里插入图片描述
恭喜,如果ping出现结果,那么你已经离成功不远了。
让我们来进行最后一步

4.两台主机间SSH免密码密钥登陆

⚠:请确认你已经做好第三步了

ssh-keygen
  1. 主机1主机2输入上方命令后出现提示。

  2. 无视 直接按下Enter回车四次

    回车四次后出现类似下图的提示
    在这里插入图片描述

这里就生成了你的公钥密钥
然后执行免密登录操作。在 主机1 输入下方命令连接 主机2 (yjs2)

ssh-copy-id yjs2@yjs2

复制给 主机2 的用户

ssh-copy-id root@yjs2

复制给 主机2 的 ROOT 用户

最后会提示你输入一遍密码
最后就完成了免密登录
输入 ssh yjs2@yjs2 查看效果
在这里插入图片描述

有错误请指出,第一次在CSDN发文。希望多多支持下 :】