使用CLI添加SSH密钥对到OpenStack

时间:2020-02-23 14:45:23  来源:igfitidea点击:

本教程基于OpenStack Ocata Release。

公共/私钥对通过在服务器上保留公钥以及本地工作站上的私钥。
一旦服务器验证了两个键匹配,就可以进行安全连接。

所以让我们生成新的SSH密钥对,如果我们已经有一个:

$ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/josphat/.ssh/id_rsa): 
Created directory '/home/josphat/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/josphat/.ssh/id_rsa.
Your public key has been saved in /home/josphat/.ssh/id_rsa.pub.
The key fingerprint is:
28:14:e0:14:11:0d:77:23:2d:6c:65:12:4e:26:a1:de Hyman@theitroad
The key's randomart image is:
+--[ RSA 4096]----+
| XXO+= |
| + *=*.. |
|. ..o. |
|. .. . |
| . E. . S |
| . |
| |
| |
| |
+-----------------+

将键复制到剪贴板:

xclip -sel clip < ~/.ssh/id_rsa.pub

然后登录OpenStack控制器节点并将密钥保存到文件:

vim josphat.pub

粘贴文件中的密钥内容,然后保存。

下一步是使用OpenStack Keypair命令导入密钥:

# openstack keypair create --public-key josphat.pub josphat
+-------------+-------------------------------------------------+
| Field       | Value                                           |
+-------------+-------------------------------------------------+
| fingerprint | 19:7b:5c:14:a2:21:7a:a3:dd:56:c6:e4:3a:22:e8:3f |
| name        | josphat                                         |
| user_id     | 93f0f5c4197f4f73b01bfe8086ecbec0                |
+-------------+-------------------------------------------------+

最后的"josphat"是凯内特的名称,如OpenStack命令CLI和Horizo n Dashboard所示。

确认:

# openstack keypair list
+---------------+-------------------------------------------------+
| Name          | Fingerprint                                     |
+---------------+-------------------------------------------------+
| jmutai_pubkey | 19:7b:5c:14:a2:21:7a:a3:dd:56:c6:e4:3a:22:e8:3f |
| josphat       | 19:7b:5c:14:a2:21:7a:a3:dd:56:c6:e4:3a:22:e8:3f |
+---------------+-------------------------------------------------+

通过进入Project>键对,可以在Horizo n Dashboard上确认同样的情况:

OpenStack可以将公共SSH键注入启动的实例,以便在准备就绪后,我们可以使用私钥访问。
继续创建一个新的VM,带有上传的密钥对:

openstack server create --flavor m1.tiny --image CoreOS-x86_64 \
 --nic net-id=a54af9d4-d297-45b6-a98c-79d84add5f2e --security-group default \
 --key-name josphat coreos-test-vm

如果我们没有上传任何图像,我就如何将图像添加到OpenStack的全面教程,请在下面的链接上查看:

将镜像添加到OpenStackGlance

网络ID,镜像名称(ID)和安全组可以使用:

# openstack image list
# openstack network list
# openstack security group list

检查是否创建的实例正在运行,并获取其IP地址:

openstack server list

验证Access:

$ping -c 4 ip_address

我们现在可以使用以下方式登录VM:

ssh Hyman@theitroad_address

由于我正在使用CoreOS镜像,默认用户名是核心

Hyman@theitroad ~ $cat /etc/os-release 
NAME="Container Linux by CoreOS"
ID=coreos
VERSION=1409.8.0
VERSION_ID=1409.8.0
BUILD_ID=2016-08-10-0112
PRETTY_NAME="Container Linux by CoreOS 1409.8.0 (Ladybug)"
ANSI_COLOR="38;5;75"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://issues.coreos.com"
COREOS_BOARD="amd64-usr"