Как ssh из одного контейнера lxc в другой?

1177
user14660

Я пытаюсь поэкспериментировать с небольшим виртуальным кластером машин, чтобы изучить hadoop. Я использую LXD для этой цели. Я установил ssh-серверы на каждой виртуальной машине, и теперь мне нужно подключиться с одной виртуальной машины к другой. Используя IP-адреса, которые я получаю, lxc listя не могу подключиться (появляется ошибка «Соединение отказано»).

Вот (что должно быть) воспроизводимый набор команд:

Создать машины

for n in 1 2 3 4 5;do sudo lxc launch images:centos/7/amd64 hadoop$n done

Установите OpenSSH

for n in 1 2 3 4 5;do sudo lxc exec hadoop$n -- apt-get update sudo lxc exec hadoop$n -- apt-get upgrade -y sudo lxc exec hadoop$n -- yum -y install openssh openssh-server openssh-clients openssl-libs; done

Перезагрузите машины

for n in 1 2 3 4 5;do sudo lxc stop hadoop$n sudo lxc start hadoop$n done

Создать пароль меньше подключений SSH

На машине хостинг установщик (hadoop1)

(MapR 5.1 требует, чтобы скрипт установки запускался с одного из узлов, где будет установлен hadoop, поэтому я запускаю этот скрипт с одной из виртуальных машин, а не с моего ноутбука)

ssh-keygen

ОС хоста

sudo lxc file pull hadoop1/root/.ssh/id_rsa.pub .

for n in 2 3 4 5;do sudo lxc file push ./id_rsa.pub hadoop$n/root/.ssh/authorized_keys -p sudo lxc exec hadoop$n -- chmod 600 /root/.ssh/authorized_keys sudo lxc exec hadoop$n -- sudo chown root: /root/.ssh/authorized_keys; done

Тест ssh от hadoop1 к hadoop2

ssh root@<ip from lxc list>

...Connection refused

0

1 ответ на вопрос

0
bmullan

Вы не можете скопировать ключ SSH, как это

Для правильного копирования ключа есть команда ssh:

ssh-copy-id user @ other-host

Хорошая рецензия / руководство:

http://www.beginninglinux.com/home/server-administration/openssh-keys-certificates-authentication-pem-pub-crt

Брайан

Похожие вопросы