本文分享自天翼云开发者社区《配置计算节点之间的SSH》,作者:y****n

如果在管理程序之间调整或迁移实例,可能会遇到SSH(拒绝权限)错误。请确保每个节点都配置了SSH密钥验证,以便Compute服务可以通过SSH将磁盘移动到其他节点。

在计算节点之间共享密钥对的操作步骤如下:

1.在第一个节点上获取密钥对(公钥和私钥)。使用根密钥目录或生成新的密钥对,存放的位置在:/root/.ssh/id_rsa and /root/.ssh/id_rsa.pub。

#ssh-keygen

2.在第一个节点上执行setenforce 0命令将SELinux设置为允许模式。

#setenforce 0

3.在第一个节点为nova用户开启登录能力:

# usermod -s /bin/bash nova
切换到nova帐户。

# su nova

4.在第一个节点上,作为root用户,创建SSH所需要的文件夹,并将步骤1中获取的私钥放在该文件夹中:

# mkdir -p /var/lib/nova/.ssh

# mkdir /var/lib/nova/.ssh/authorized_keys

# cp <private key>  /var/lib/nova/.ssh/id_rsa

# echo 'StrictHostKeyChecking no' >> /var/lib/nova/.ssh/config

# chmod 600 /var/lib/nova/.ssh/id_rsa /var/lib/nova/.ssh/authorized_keys

注意:由于几个计算节点之间不是互通的,只能通过deploy节点登录到不同计算节点,且执行ssh-copy-id -i <public key> nova@remote-host命令会报错误:Permission denied(publickey)。故采用直接将public key追加到本节点的authorized_keys文件夹中,再将所需文件拷贝到别的计算节点

5.在第一个节点上,将公钥安装到authorized_keys文件夹中

# cd /var/lib/nova/.ssh

# cat id_rsa.pub >> authorized_keys

6.打包第一个节点上/var/lib/nova/.ssh下的所有文件,并拷贝到/home/secure/下

# cd /var/lib/nova/.ssh

# tar -zcvf key.tar.gz ./

# cp key.tar.gz /home/secure/

7.将第6步骤打包好的压缩包发送到deploy节点上

在deploy节点上执行:

# scp -P10000 secure@10.9.200.14:/home/secure/key.tar.gz ./       (secure@10.9.200.14为第一个节点的信息)

8.再将这个key.tar.gz发送到其余计算节点

在deploy节点上执行:

# scp -P10000 key.tar.gz  secure@10.9.200.15:/home/secure/

# scp -P10000 key.tar.gz  secure@10.9.200.16:/home/secure/

...

在其余计算节点上重复步骤9-12

9.执行setenforce 0命令将SELinux设置为允许模式。

#setenforce 0

10.为nova用户开启登录能力:

# usermod -s /bin/bash nova
切换到nova帐户。

# su nova

11.作为root用户,创建SSH所需要的文件夹

# mkdir -p /var/lib/nova/.ssh

12.将打包好的文件放到/var/lib/nova/.ssh下

# mv /home/secure/key.tar.gz /var/lib/nova/.ssh

# cd /var/lib/nova/.ssh

# tar -zxvf chen.tar.gz ./

# chmod 600 /var/lib/nova/.ssh/id_rsa /var/lib/nova/.ssh/authorized_keys

# rm -rf key.*

13.在每个节点上将ssh连接的默认端口设置为10000

# vi /etc/ssh/ssh_config

修改Port为10000

14.在每个节点上重启sshd服务

# systemctl restart sshd

15.在每个节点上确保nova用户无需密码即可登录各节点:

# su nova

$ ssh *computeNodeAddress*

$ exit

16.在每个节点上以root用户重新启动libvirt和Compute服务:

# systemctl restart libvirtd.service

# systemctl restart openstack-nova-compute.service

配置计算节点之间的SSH的更多相关文章

  1. openstack Q版部署-----nova服务配置-计算节点(6)

    一.服务安装(计算节点) 安装软件: yum install openstack-nova-compute -y 编辑/etc/nova/nova.conf文件并设置如下内容: [DEFAULT] e ...

  2. S1_搭建分布式OpenStack集群_07 nova服务配置 (计算节点)

    一.服务安装(计算节点)安装软件:# yum install openstack-nova-compute -y 编辑/etc/nova/nova.conf文件并设置如下内容:# vim /etc/n ...

  3. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 6.在计算节点上安装并配置计算服务Nova

    安装和配置计算节点这个章节描述如何在计算节点上安装和配置计算服务. 计算服务支持几种不同的 hypervisors.为了简单起见,这个配置在计算节点上使用 :KVM <kernel-based ...

  4. OpenStack Train版-9.安装neutron网络服务(计算节点)

    在计算节点安装neutron网络服务(computel01计算节点192.168.0.20)安装组件 yum install openstack-neutron-linuxbridge ebtable ...

  5. openstack--6--控制节点和计算节点安装配置neutron

    Neutron相关介绍 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个neutron. quantum是因为商标和别的公司重名了,又改成的Neutron ...

  6. openstack--5--控制节点和计算节点安装配置nova

    Nova相关介绍 目前的Nova主要由API,Compute,Conductor,Scheduler组成 Compute:用来交互并管理虚拟机的生命周期: Scheduler:从可用池中根据各种策略选 ...

  7. openstack controller ha测试环境搭建记录(十二)——配置neutron(计算节点)

    在计算节点配置内核参数:vi /etc/sysctl.confnet.ipv4.conf.all.rp_filter=0net.ipv4.conf.default.rp_filter=0 在计算节点使 ...

  8. openstack controller ha测试环境搭建记录(九)——配置nova(计算节点)

    编辑所有节点的/etc/hosts:10.0.0.14 controller110.0.0.12 controller210.0.0.13 controller310.0.0.10 myvip10.0 ...

  9. Nova计算节点安装配置

    Nova计算节点安装配置 openstack pike 安装 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ## Nova计算节点安装配置 #基本配置 ...

  10. OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(三)——计算节点的安装

    序:OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE] 计算节点: 1.准备结点 安装好ubuntu 12.04 Server 64bits后,进入ro ...

随机推荐

  1. B+树原理详解

    B树 与 B+树 我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的 B+ 树索引.要介绍 B+ 树索引,就不得不提二叉查找树,平衡二叉树和 B 树这三种数据结构.B+ 树就是从他们 ...

  2. PHP8新特性

    PHP 8.1 提供的功能 枚举 Fiber(纤维) never 返回类型 readonly 属性 final 类常量 新的 array_is_list() 函数 新的 fsync() 和 fdata ...

  3. uniapp使用EventBus实现页面间数据传递

    前情 最近在做小程序项目,选用是当前比较火的uniapp技术栈,经常会遇到页面间消息传递的需求. 为什么要这么做? uniapp页面间数据通信方式有很多:通过url传参,状态管理库vuex/pinia ...

  4. 当年的毕设-cpf (一个简易的协议 fuzzer)

    整理文件时发现了这个,看是否有人需要... https://github.com/hac425xxx/cpf/ cpf 一个简单的协议Fuzz工具. 毕设答辩胶片&演示视频 https://g ...

  5. 数据分层 ODS DW DM层级

    在数据仓库的设计过程中,数据分层是一种重要的组织方式,能够提高数据处理效率和数据质量.数据分层通常包括原始数据(Operational Data Store,ODS).明细数据(Data Wareho ...

  6. R数据分析:生存数据预测模型的建立和评价(二)timeROC与决策曲线

    上篇文章依照jama surgery的一篇文章给大家写了生存数据预测模型评价的C指数.校准曲线和模型验证结果的做法,其实生存数据预测模型的评价方法还有很多,本期接着往下看. Time-dependen ...

  7. docker容器间互相访问 docker bridge网络

    方式一.虚拟ip访问安装docker时,docker会默认创建一个内部的桥接网络docker0,每创建一个容器分配一个虚拟网卡,容器之间可以根据ip互相访问. [root@33fcf82ab4dd / ...

  8. docker.sock: connect: permission denied 解决

    问题描述xjun@DESKTOP-L2R4GKN:~$ docker run -it hello-worlddocker: Got permission denied while trying to ...

  9. springboot 2.x 集成quartz持久化到一个单独的dataSource时遇到的坑

    由于希望可以在集群环境中运行定时job,但考虑到多个job实例有可能带来job重复执行的问题,新项目的job打算从原生的spring task实现改成quartz job实现,并采用jdbc的存储方式 ...

  10. Unity 3D简单使用C#脚本,脚本的生命周期

    Unity 3D简单使用 新建项目->层级里右键->创建空对象改名Test 项目里右键创建C#脚本Test 双击脚本Test(所有脚本都会继承MonoBehaviour类),在Start( ...