本文分享自天翼云开发者社区《配置计算节点之间的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
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