- Мой провайдер: OpenStack
- ОС VM: Ubuntu 16.04
- Docker-machine Версия: 0.14.0
- Проблема:
- Я хочу использовать userdata, добавить еще один открытый ключ для авторизованного ключа,
используя опцию --openstack-user-data-file, чтобы указать мой userdata.yml.
Вот мой userdata.yml:
#cloud-config
users:
- default
- name: ubuntu
groups: sudo
shell: /bin/bash
sudo: ['ALL=(ALL) NOPASSWD:ALL']
ssh-authorized-keys:
- ssh-rsa XXXXXXXXXXXXXX
Используйте команду docker-machine для создания vm:
docker-machine --debug create --driver openstack
--openstack-auth-url http://x.x.x.x:5001/v3
--openstack-domain-id defaule
--openstack-endpoint-type adminURL
--openstack-floatingip-pool ext-net
--openstack-keypair-name mykey
--openstack-flavor-id 4
--openstack-image-name ubuntu-16.04-cloud
--openstack-net-name private
--openstack-password XXXXX
--openstack-private-key-file /home/demo/id_rsa
--openstack-sec-groups default
--openstack-ssh-user ubuntu
--openstack-tenant-name admin
--openstack-user-data-file /home/demo/userdata.yml
--openstack-username admin
vm
После создания vm, докер-машина застряла «в ожидании доступности ssh».
Вот отладочный вывод:
Getting to WaitForSSH function...
(vm) Calling .GetSSHHostname
(vm) Calling .GetSSHPort
(vm) Calling .GetSSHKeyPath
(vm) Calling .GetSSHKeyPath
(vm) Calling .GetSSHUsername
Using SSH client type: external
Using SSH private key: /root/.docker/machine/machines/vm/id_rsa (-rw-------)
&{[-F /dev/null -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none ubuntu@10.50.2.36 -o IdentitiesOnly=yes -i /root/.docker/machine/machines/vm/id_rsa -p 22] /usr/bin/ssh <nil>}
About to run SSH command:
exit 0
SSH cmd err, output: exit status 255:
Error getting ssh command 'exit 0' : ssh command error:
command : exit 0
err : exit status 255
output :
Я пытаюсь выполнить команду ssh к vm:
ssh -i /root/.docker/machine/machines/vm/id_rsa ubuntu@10.50.2.36
Но получено сообщение об ошибке:
Permission denied (publickey).
Итак, я пробую другой ключ, ключ был в опции --openstack-private-key-file / home / demo / id_rsa
ssh -i /home/demo/id_rsa ubuntu@10.50.2.36
ssh прошел успешно!
Я проверил два ключа: / root / .docker / machine / machines / vm / id_rsa и / home / demo / id_rsa,
но две клавиши одинаковы.
Я запутался, почему одни и те же ключи, один может ssh, другой не может ssh?