Wie ssh von einem lxc-Container zu einem anderen?

1269
user14660

Ich versuche mit einem kleinen virtuellen Cluster von Maschinen zu experimentieren, um Hadoop zu lernen. Ich verwende LXD für diesen Zweck. Ich habe SSH-Server auf jedem VM installiert und muss jetzt eine Verbindung von einem VM zum anderen herstellen. Bei Verwendung der IPs, die ich von bekomme, kann lxc listich keine Verbindung herstellen (Fehlermeldung "Verbindung abgelehnt").

Hier ist (was sollte sein) ein reproduzierbarer Befehlssatz:

Maschinen erstellen

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

Installiere 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

Maschinen neu starten

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

Erstellen Sie Kennwort ohne SSH-Verbindungen

Auf dem Hosting-Installer (hadoop1)

(MapR 5.1 erfordert, dass das Installationsskript von einem der Knoten aus ausgeführt wird, auf denen hadoop installiert werden soll. Deshalb führe ich dieses Skript von einer der VMs aus und nicht von meinem Host-Laptop aus.)

ssh-keygen

Host-Betriebssystem

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

Testen Sie ssh von hadoop1 bis hadoop2

ssh root@<ip from lxc list>

...Connection refused

0

1 Antwort auf die Frage

0
bmullan

Sie können den SSH-Schlüssel nicht so kopieren

Es gibt einen Befehl ssh, um den Schlüssel richtig zu kopieren:

ssh-copy-id Benutzer @ anderer-Host

Eine gute Anleitung / Anleitung ist:

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

Brian