草庐IT

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

Heyimyh 2024-03-01 原文

云计算1 : 主机之间如何使用SSH免密码秘钥连接

操作平台 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发文。希望多多支持下 :】

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

  1. ruby-on-rails - Rails 应用程序之间的通信 - 2

    我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此

  2. ruby-on-rails - 使用一系列等级计算字母等级 - 2

    这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,

  3. ruby - Capistrano 3 在任务中更改 ssh_options - 2

    我尝试使用不同的ssh_options在同一阶段运行capistranov.3任务。我的production.rb说:set:stage,:productionset:user,'deploy'set:ssh_options,{user:'deploy'}通过此配置,capistrano与用户deploy连接,这对于其余的任务是正确的。但是我需要将它连接到服务器中配置良好的an_other_user以完成一项特定任务。然后我的食谱说:...taskswithoriginaluser...task:my_task_with_an_other_userdoset:user,'an_othe

  4. ruby - 即使失败也继续进行多主机测试 - 2

    我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r

  5. ruby - #之间? Cooper 的 *Beginning Ruby* 中的错误或异常 - 2

    在Cooper的书BeginningRuby中,第166页有一个我无法重现的示例。classSongincludeComparableattr_accessor:lengthdef(other)@lengthother.lengthenddefinitialize(song_name,length)@song_name=song_name@length=lengthendenda=Song.new('Rockaroundtheclock',143)b=Song.new('BohemianRhapsody',544)c=Song.new('MinuteWaltz',60)a.betwee

  6. ruby - 从 Ruby 中的主机名获取 IP 地址 - 2

    我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge

  7. ruby-on-rails - `a ||= b` 和 `a = b if a.nil 之间的区别? - 2

    我正在检查一个Rails项目。在ERubyHTML模板页面上,我看到了这样几行:我不明白为什么不这样写:在这种情况下,||=和ifnil?有什么区别? 最佳答案 在这种特殊情况下没有区别,但可能是出于习惯。每当我看到nil?被使用时,它几乎总是使用不当。在Ruby中,很少有东西在逻辑上是假的,只有文字false和nil是。这意味着像if(!x.nil?)这样的代码几乎总是更好地表示为if(x)除非期望x可能是文字false。我会将其切换为||=false,因为它具有相同的结果,但这在很大程度上取决于偏好。唯一的缺点是赋值会在每次运行

  8. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  9. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  10. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

随机推荐