Docker-машина не может использовать ключ добавления пользовательских данных в образ облака ssh - PullRequest
0 голосов
/ 18 сентября 2018
  • Мой провайдер: 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?

1 Ответ

0 голосов
/ 27 ноября 2018

Чтобы Docker-Machine настроил виртуальную машину в OpenStack, вам необходимо активировать опцию config_drive : docker-machine --openstack-config-drive [OTHER_OPTIONS] <MACHINE_NAME>

...