-3

После помощи @Sarke я нашел решение:

Здесь исправленная версия, оригинальная сломанная версия не может помочь никому.

О том, почему мне нужно иметь возможность SSH из одного контейнера в другой, что мне нужна высокая доступность для некоторых клиентов, и я хочу выполнять зеркалирование дисков с помощью DRBD или rsync и использовать его по ssh-туннелю.

xfce4-терминал -T LocalTerm
выход

На LocalTerm:

lxc stop C1  
lxc stop C2  

lxc delete C1  
lxc delete C2  

lxc launch ubuntu:14.04 C1  
lxc launch ubuntu:14.04 C2  

lxc list --format csv  

xfce4-terminal -T C1Term -e "bash -c 'lxc exec C1 -- /bin/bash; exec bash; exit 0;'"  
xfce4-terminal -T C2Term -e "bash -c 'lxc exec C2 -- /bin/bash; exec bash; exit 0;'"  

На C1Term и C2Term:

apt-get update  
apt-get upgrade  
apt-get install netcat net-tools  
apt-get install openssh-server openssh-client  
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original  
    nano /etc/ssh/sshd_config   
        --------  
        Port 2222  
        PubkeyAuthentication yes  
        --------  

На LocalTerm:

lxc restart C1  
lxc restart C2  

На C2Term:

lxc exec C2 -- /bin/bash; exec bash  

На C1Term:

lxc exec C1 -- /bin/bash; exec bash  
ssh-keygen -t rsa  
    --------  
    Here using no password and all default options  
    --------  

На LocalTerm:

rm -rf /home/myUser/localFolder/*  

lxc file pull --recursive C1/root/.ssh/id_rsa.pub /home/myUser/localFolder/  
cat /home/myUser/localFolder/id_rsa.pub >> /home/myUser/localFolder/authorized_keys_tail  
lxc file push --recursive /home/myUser/localFolder/authorized_keys_tail C2/root/.ssh/  
lxc exec C2 -- sh -c "sudo cat /root/.ssh/authorized_keys_tail >> /root/.ssh/authorized_keys"  

На C1Term:

sudo ssh -i ~/.ssh/id_rsa.pem root@10.20.30.40 -p2222  

1 ответ1

0

ssh-copy-id используется для добавления открытого ключа пользователя в файл authorized_keys на удаленном компьютере. Это файл, используемый для проверки соединения. Копирование файла открытого ключа ничего не делает.

Мне это кажется не проблемой LXC/LXD, а проблемой использования SSH.

Чтобы использовать ssh-copy-id нам нужно как-то проверить, и, скорее всего, нашего открытого ключа еще нет, поэтому для него потребуется пароль. Если пароль не установлен или не доступен, это необходимо сделать вручную.

Пытаться

lxc file pull --recursive C1/root/.ssh/id_rsa.pub /home/myUser/localFolder/
cat id_rsa.pub >> authorized_keys
lxc file push --recursive /home/myUser/localFolder/authorized_keys C2/root/.ssh/

Но почему вы должны иметь возможность SSH из одного контейнера в другой?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .