【三】ubuntu24虚拟机集群配置免密登陆

news2025/2/22 7:51:48

文章目录

  • 环境背景
  • 1. 配置域名映射
  • 2. 配置免密登录
    • 2.1 在每台机器上生成SSH密钥对:
    • 2.2 将公钥分发到其他机器:
      • 2.2.1 报错问题
      • 2.2.2 修复方法
  • 3. 验证免密登录
        • 在 `ubuntu1` 上:
        • 在 `ubuntu2` 上:
        • 在 `ubuntu3` 上:
      • 测试连接

环境背景

当前三台ubuntu节点已经完成了虚拟机在vmware fusion中的部署,网络经过测试均已经互通,并且开机使用远程连接进行访问。
image.png


1. 配置域名映射

编辑每台机器的 /etc/hosts 文件,添加以下内容:

sudo vim /etc/hosts

添加以下行:

172.16.167.131 ubuntu1
172.16.167.132 ubuntu2
172.16.167.133 ubuntu3

image.png
保存并退出文件。
image.png
同时,可以给mac物理机主机映射也配置上 ,打开mac终端,先进入root,再编辑hosts文件:

su root
vim /etc/hosts

image.png
这样,每台机器都能通过域名访问其他机器。
image.png

2. 配置免密登录

在每台机器上生成SSH密钥对,并将公钥分发到其他机器。

2.1 在每台机器上生成SSH密钥对:

ssh-keygen -t rsa -b 2048

在提示时按Enter键,使用默认文件路径,不设置密码短语。
image.png

2.2 将公钥分发到其他机器:

假设现在在 ubuntu1 上,运行以下命令将公钥分发到 ubuntu2ubuntu3

ssh-copy-id ubuntu2
ssh-copy-id ubuntu3

成功的回显如下:

root@ubuntu1:~# ssh-copy-id ubuntu3
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host 'ubuntu3 (172.16.167.133)' can't be established.
ED25519 key fingerprint is SHA256:kT9JZ/VheFqnJ6JjAA7RTTRzpdFCJ0DE+SbAAYgeCLc.
This host key is known by the following other names/addresses:
    ~/.ssh/known_hosts:1: [hashed name]
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@ubuntu3's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'ubuntu3'"
and check to make sure that only the key(s) you wanted were added.

root@ubuntu1:~# 

然后在 ubuntu2 上,将公钥分发到 ubuntu1ubuntu3

ssh-copy-id ubuntu1
ssh-copy-id ubuntu3

最后在 ubuntu3 上,将公钥分发到 ubuntu1ubuntu2

ssh-copy-id ubuntu1
ssh-copy-id ubuntu2

2.2.1 报错问题

image.png

root@ubuntu1:~# ssh-copy-id ubuntu2
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: ERROR: /etc/ssh/ssh_config: line 54: Bad configuration option: permitrootlogin
ERROR: /etc/ssh/ssh_config: terminating, 1 bad configuration options

出现这个错误是因为 /etc/ssh/ssh_config 文件中包含无效的配置选项 PermitRootLogin。实际上,这个选项应该出现在 sshd_config 文件中,而不是 ssh_config 文件中。ssh_config 是客户端配置文件,而 sshd_config 是服务器配置文件。

2.2.2 修复方法

  1. 编辑 /etc/ssh/ssh_config 文件:打开并编辑 /etc/ssh/ssh_config 文件,找到包含 PermitRootLogin 的行并删除它:
sudo vim /etc/ssh/ssh_config

找到并删除或注释掉这行:

PermitRootLogin yes

image.png
保存并退出文件。

  1. 编辑 /etc/ssh/sshd_config 文件:确保 PermitRootLogin 设置在服务器端配置文件 /etc/ssh/sshd_config 中正确配置:
sudo vim /etc/ssh/sshd_config

确保有如下配置:

PermitRootLogin yes

image.png
保存并退出文件,然后重启SSH服务,要在三台节点上都重新配置一下ssh:

sudo systemctl restart ssh
  1. **再次尝试 **ssh-copy-id:现在,你可以再次尝试使用 ssh-copy-id 命令将公钥复制到 ubuntu2
ssh-copy-id ubuntu2

image.png

3. 验证免密登录

在每台机器上测试是否可以免密登录到其他机器:

ubuntu1 上:
ssh ubuntu2
ssh ubuntu3
ubuntu2 上:
ssh ubuntu1
ssh ubuntu3
ubuntu3 上:
ssh ubuntu1
ssh ubuntu2

image.png

测试连接

可以在每台机器上使用以下命令测试连接:

ssh ubuntu1
ssh ubuntu2
ssh ubuntu3

通过上述步骤,成功为三台Ubuntu虚拟机配置域名映射和免密登录。这样,可以通过域名而不是IP地址访问每台机器,并且在每台机器之间进行免密SSH登录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1899755.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

应急响应-网站入侵篡改指南Webshell内存马查杀漏洞排查时间分析

查看146天的内存马 方法: 1. 日志 这种地址一般在扫描 还要注意post传参注入 对其进行全局定位 发现有sql注入 我们可以也尝试去sqlmap注入 如果以这种方式注入ua头就会改变 2. 了解自己的中间件,框架,cve,等 因为不知道时间…

linux-5.10.110内核源码分析 - Freescale ls1012a pcie host驱动

1、dts pcie设备树 1.1、pcie设备树 pcie1: pcie3400000 {compatible "fsl,ls1012a-pcie";reg <0x00 0x03400000 0x0 0x00100000 /* controller registers */0x40 0x00000000 0x0 0x00002000>; /* configuration space */reg-names "regs", &…

Linux-DNS

DNS域名解析服务 1.DNS介绍 DNS 是域名系统 (Domain Name System) 的缩写&#xff0c;是因特网的一项核心服务&#xff0c;它作为可以将域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使人更方便的访问互联网&#xff0c;而不用去记住能够被机器直接读取的IP数串。…

乐鑫ESPRESSIF芯片开发简介

乐鑫科技&#xff08;Espressif Systems&#xff0c;通常简称乐鑫或ESPRESSIF&#xff09;是一家全球化的无晶圆厂半导体公司&#xff0c;专注于研发无线通信微控制器单元&#xff08;MCU&#xff09;芯片&#xff0c;特别在物联网&#xff08;IoT&#xff09;领域有着显著的影…

【CentOS 7.6】Linux版本 portainer本地镜像导入docker安装配置教程,不需要魔法拉取!(找不着镜像的来看我)

吐槽 我本来根本不想写这篇博客&#xff0c;但我很不解也有点生气&#xff0c;CSDN这么大没有人把现在需要魔法才能拉取的镜像放上来。 你们都不放&#xff0c;根本不方便。我来上传资源。 portainer-ce-latest.tar Linux/amd64 镜像下载地址&#xff1a; 链接&#xff1a;h…

windows下搭建python+jupyter notebook

一.下载python 下面网址下载python3 https://www.python.org/ 二. 安装jupyter notebook 三. 修改配置 四. 检测是否正常运行

【IT领域新生必看】 Java编程中的重写(Overriding)规则:初学者轻松掌握的全方位指南

文章目录 引言什么是方法重写&#xff08;Overriding&#xff09;&#xff1f;方法重写的基本示例 方法重写的规则1. 方法签名必须相同示例&#xff1a; 2. 返回类型可以是子类型&#xff08;协变返回类型&#xff09;示例&#xff1a; 3. 访问修饰符不能比父类的更严格示例&am…

《C++20设计模式》代理模式

文章目录 一、前言二、实现1、UML类图2、实现 一、前言 这代理模式和装饰器模式很像啊。都是套一层类。&#x1f630; 主要就是功能差别 装饰器&#xff1a; 为了强化原有类的功能。代理模式&#xff1a; 不改变原有功能&#xff0c;只是强化原有类的潜在行为。 我觉的书上有…

spark on k8s两种方式的原理与对比

spark on k8s两种方式的原理与对比 1、spark on k8s 方式 spark-submit可以直接用来向 Kubernetes 集群提交 Spark 应用&#xff0c;提交机制如下&#xff1a; 1、Spark 创建一个在Kubernetes pod中运行的 Spark 驱动程序。 2、驱动程序创建在 Kubernetes Pod 中运行的执行器…

Python创建MySQL数据库

一、使用Docker部署本地MySQL数据库 docker run --restartalways -p 3307:3306 --name mysql -e MYSOL_ROOT_PASSWORDlms123456 -d mysql:8.0.25 参数解析: 用户名:root 密码:lms123456 端口:3307 二、在Pycharm开发工具中配置连接MySQL数据库 三、安装zdppy_mysql pip inst…

《向量数据库指南》——Milvus Cloud索引增强如何提升 RAG Pipeline 效果?

索引增强 1.自动合并块 在建立索引时&#xff0c;分两个粒度搭建&#xff0c;一个是chunk本身&#xff0c;另一个是chunk所在的parent chunk。先搜索更细粒度的chunks&#xff0c;接着采用一种合并的策略——如果前k个子chunk中超过n个chunk属于同一个parent chunk&#xff0c…

centos下编译安装redis最新稳定版

一、目标 编译安装最新版的redis 二、安装步骤 1、redis官方下载页面 Downloads - Redis 2、下载最新版的redis源码包 注&#xff1a;此时的最新稳定版是 redis 7.2.5 wget https://download.redis.io/redis-stable.tar.gz 3、安装编译环境 yum install -y gcc gcc-c …

使用patch-package自动修改node_modules中的内容/打补丁

背景 在使用VuePress搭建个人博客的过程中&#xff0c;我需要使用到一个用来复制代码块的插件uepress-plugin-nuggets-style-copy。 问题&#xff1a;插件可以正常安装&#xff0c;但是启动会报错。通过查看错误信息&#xff0c;定位是插件中的copy.vue文件出现错误&#xff0c…

学习笔记——动态路由——OSPF聚合(汇总)

十一、OSPF聚合(汇总) 1、路由聚合(汇总) 路由汇总是一种重要的思想&#xff0c;在大型的项目中是必须考虑的一个重点事项。随着网络的规模越来越大&#xff0c;网络中的设备所需维护的路由表项也就会越来越多&#xff0c;路由表的规模也就会逐渐变大&#xff0c;而路由表是需…

【智能算法应用】麻雀搜索算法SSA优化Kmeans图像分割

目录 1.算法原理2.数学模型3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】麻雀搜索算法&#xff08;SSA&#xff09;原理及实现 2.数学模型 Kmeans是一种无监督的聚类算法,由于参数简洁,时间复杂度低已成功应用于图像分割,取得了良好的分割效果。但传统的 K 均值聚…

45 mysql truncate 的实现

前言 truncate 是一个我们也经常会使用到的命令 其作用类似于 delete from $table; 但是 他会比 delete 块很多&#xff0c;这里我们来看一下 它的实现 delete 的时候会逐行进行处理, 打上 删除标记, 然后 由后台任务 进行数据处理 truncate table 的实现 执行 sql 如下 …

计算机图形学入门24:材质与外观

1.前言 想要得到一个漂亮准确的场景渲染效果&#xff0c;不只需要物理正确的全局照明算法&#xff0c;也要了解现实中各种物体的表面外观和在图形学中的模拟方式。而物体的外观和材质其实就是同一个意思&#xff0c;不同的材质在光照下就会表现出不同的外观&#xff0c;所以外观…

HTTP与HTTPS的主要区别

HTTP&#xff08;超文本传输协议&#xff09;与HTTPS&#xff08;超文本传输安全协议&#xff09;的主要区别在于安全性、数据传输方式、默认使用的端口以及对网站的影响。 一、安全性&#xff1a; HTTP是一种无加密的协议&#xff0c;数据在传输过程中以明文形式发送&#x…

使用myCobot280和OAK-D OpenCV DepthAI摄像头制作一个实时脸部跟踪的手机支架!

引言 由于YouTube和Netflix的出现&#xff0c;我们开始躺着看手机。然而&#xff0c;长时间用手拿着手机会让人感到疲劳。这次我们制作了一个可以在你眼前保持适当距离并调整位置的自动移动手机支架&#xff0c;让你无需用手拿着手机。请务必试试&#xff01; 准备工作 这次我们…