как использовать ssh для подключения виртуальной машины в пространстве имен?

#cloud #openstack

#облако #openstack

Вопрос:

Что я хочу сделать: использовать скрипт Python для входа в виртуальную машину в среде openstack

Что я делал до сих пор:

  1. Я использовал CLI: openstack keypair create abc > /root/keydir/abc для создания пары ключей openstack и использования chmod 600 abc для изменения разрешения

  2. Затем я создаю виртуальную машину из dashboard и использую ключ, который я только что создал

  3. Я настраиваю виртуальную машину и жду, пока она достигнет нужного состояния

  4. Наконец-то я использую эту команду в узле контроллера:

 ip netns exec qdhcp-c8db7805-c5e8-aaaa-xxxx-xxxxx ssh -i /root/keydir/abc
root@192.168.111.104(vm's ip) "ping 127.0.0.1 -c 10 "
  
  1. Когда я запускаю это на python, оно показывает мне: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password) .

  2. Я запускаю команду в Linux напрямую, мне предлагается ввести пароль, и это не тот результат, который я хочу

Почему не работает пара ключей?

Комментарии:

1. Ваш вопрос нуждается в переформатировании! Возможно, прочитайте руководство, если не уверены, как это сделать.

2. хорошо, спасибо, я изменил формат

3. Вы могли бы постараться получше: я отредактировал ваш вопрос; пожалуйста, просмотрите!

4. Я думаю, вам лучше опубликовать свой вопрос на serverfault.com потому что это больше связано с серверами / инфраструктурой, чем с кодированием

Ответ №1:

Вы должны использовать учетную запись администратора (не «root»). Имя учетной записи зависит от того, как «cloud-init» настроен в вашем образе Linux, но обычно это:

  • «ubuntu» для Ubuntu
  • «debian» для Debian
  • «ec2-user» для RHEL, Fedora, CentOS и так далее
  • и другие.

По умолчанию конфигурации «sshd» не разрешают (не должны!) вход по SSH в учетную запись «root» по сети.