Как ssh из одного контейнера lxc в другой?
Я пытаюсь поэкспериментировать с небольшим виртуальным кластером машин, чтобы изучить 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 root@<ip from lxc list>
...Connection refused
1 ответ
Вы не можете скопировать ключ SSH, как это
Для правильного копирования ключа есть команда ssh:
ssh-copy-id user @ other-host
Хорошая рецензия / руководство:
Брайан