Después de la ayuda de @Sarke llego a esa solución:
Aquí la versión fija, la versión rota original no puede ayudar a nadie.
Acerca de por qué necesito poder SSH de un contenedor a otro si necesito alta disponibilidad para algunos clientes y quiero hacer la duplicación de disco con DRBD o rsync y quiero hacerlo a través de un túnel ssh.
xfce4-terminal -T LocalTerm
salida
En 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;'"
En C1Term y 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
--------
En LocalTerm:
lxc restart C1
lxc restart C2
En C2Term:
lxc exec C2 -- /bin/bash; exec bash
En C1Term:
lxc exec C1 -- /bin/bash; exec bash
ssh-keygen -t rsa
--------
Here using no password and all default options
--------
En 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"
En C1Term:
sudo ssh -i ~/.ssh/id_rsa.pem [email protected] -p2222
linux
ssh
ubuntu-14.04
lxc
marca
fuente
fuente
ssh-keygen -f /root/.ssh/id_rsa.pub -e -m pem > /root/.ssh/id_rsa.pem
Intente esto con el archivo de clave privada (id_rsa) en lugar del archivo de clave pública (id_rsa.pub).sudo ssh -i ~/.ssh/id_rsa.pem root@C2-machine-ip -p2222 -vvv
te da?Respuestas:
ssh-copy-id
se utiliza para agregar la clave pública del usuario alauthorized_keys
archivo del control remoto . Este es el archivo utilizado para validar la conexión. Copiar el archivo de clave pública no hace nada.Para mí, esto no parece un problema de LXC / LXD, sino un problema de uso de SSH.
Para poder usarlo,
ssh-copy-id
debemos validarlo de alguna manera, y lo más probable es que nuestra clave pública aún no esté allí, por lo que requeriría una contraseña. Si no se establece una contraseña o no está disponible, esto debe hacerse manualmente.Tratar
Pero, ¿por qué necesita poder SSH de un contenedor a otro?
fuente