LXC container SSH?

1 Antwort

Von Experte julihan41 bestätigt
Ich hatte eine ähnliche frage schonmal gestellt jedoch nur die antwort bekommen, ich müsse einen Reverse Proxy einrichten, wie genau mache ich das ? Hier die Frage:

Indem du dir einen Reverse Proxy aussuchst, diesen installierst und einrichtest

Ich möchte mehrere Linux Container für freunde betreiben sodass jeder seinen eigenen hat.

Hat es einen Grund, warum du an externe Menschen LXC statt echten VMs weitergeben willst? Ich hoffe zumindest, dass diese alle unpriviligiert laufen.

Nun möchte ich das alle per port 26 auf den jeweiligen zugreifen können

Port 26 ist kein belegter standardisierter Port. Was soll denn genau darauf laufen?

Damit ein Reverse Proxy - mit Domains und Subdomains - funktioniert, müsste in den Headern der Pakete auch das Ziel zu finden sein. Das Protokoll müsste das also unterstützen.

Einfacher wäre es, wenn du einfach mehrere Ports freigibst - einen für jeden Freund. Abweichende Ports müssen angegeben werden - aber das würdest du bei 26 sowieso haben. Eventuell kannst du auch entsprechende Subdomains anlegen, die dann jeweils über einen SRV-Record die jeweiligen Ports veröffentlichen.

Ich hab z.B. auch mehrere Minecraft-Server auf abweichenden Ports laufen - dank SRV-Eintrag muss diesen jedoch niemand eintragen


clownfish803 
Fragesteller
 01.06.2022, 18:22

Also ssh einfach einer kann auf einen Container per 26 zugreifen und ich möchte nicht so viele Portfreigaben auf meinem Rother haben jedoch dass jeder auf seinen eigenen Container zugreifen kann

0
xxxcyberxxx  01.06.2022, 18:24
@clownfish803
Also ssh einfach einer kann auf einen Container per 26 zugreifen und ich möchte nicht so viele Portfreigaben auf meinem Rother haben jedoch dass jeder auf seinen eigenen Container zugreifen kann

du könntest, wenn du nicht so viel freigeben willst, dir auch überlegen, SSH-Zugang einfach nur über eine VPN-Verbindung anzubieten - du könntest dafür Wireguard oder OpenVPN hosten. Deine Freunde müssten dann das VPN dafür nutzen - und optimalerweise richtest du das ganze mit Firewall-Regeln so ein, dass sie nur Zugriff auf die entsprechenden Server und nicht auf die anderen Server und so haben.

Wenn du SSH öffentlich im Internet anbietest, solltest du das auf jeden Fall abhärten - und dafür sorgen, dass deine Freunde dies nicht ändern. Das bedeutet nur Authentifizierung über PubKey, kein Passwort-Login erlauben, kein Root-Login erlauben, mit Fail2Ban verknüpfen usw ...

1
clownfish803 
Fragesteller
 02.06.2022, 07:01
@xxxcyberxxx

Hättest du für den Reverse Proxy ne Anleitung? Am besten wenn’s geht in Deutsch ?

0
xxxcyberxxx  02.06.2022, 08:40
@clownfish803

Als Reverse Proxy - für HTTP und HTTPS wohlgemerkt - nutze ich selbst Nginx. Das kannst du natürlich direkt samt Konfigurationsdateien auf der Maschine installieren oder z.B. in Docker den Nginx Proxy Manager installieren - der macht die Konfiguration sehr einfach und bequem.

Anleitungen dazu findet man per Google schnell, wenn man "Setup Reverse Proxy nginx" eingibt.

Mit dem NPM muss man sich nicht mit Konfigurationen rumschlagen, sondern hat eine WebUI. Da ist es dann auch nicht mehr als

  • Proxy Host anlegen
  • Domain(s) angeben, auf die das zuteffen soll
  • Protokoll, Ziel und Port angeben
  • Wählen, ob man HTTPS, HSTS usw erzwingen will
  • Entweder über let's encrypt ein neues Zertifikat erstellen oder ein schon eingepflegtes Zertifikat auswählen
0
xxxcyberxxx  02.06.2022, 14:18
@clownfish803

SSH ist kein Protokoll, welches die Ziel-Adresse wie bei Http(s) in entsprechenden Headern verarbeitet - einen Reverse Proxy wirst du dafür nicht finden

0
clownfish803 
Fragesteller
 02.06.2022, 16:53
@xxxcyberxxx

Was kann ich dann tuen damit meine Leute auf ihre eigenen lxc vm s zugreifen können (JA es sind VMs denn ich hab sie erstellt mit dem Argument: —vm

0
xxxcyberxxx  02.06.2022, 17:25
@clownfish803
Was kann ich dann tuen damit meine Leute auf ihre eigenen lxc vm s zugreifen können

Wie gesagt: entweder gibst du mehrere Ports frei oder nutzt einen VPN-Dienst.

Alternativ könntest du auch einen Jumphost für SSH aufsetzen, der im Netz steht und durch den sie auf die einzelnen Server zugreifen können

(JA es sind VMs denn ich hab sie erstellt mit dem Argument: —vm

Lxc-container sind keine VMs ...

0
xxxcyberxxx  02.06.2022, 18:04
@clownfish803

Gib mir doch Mal eine Quelle dazu, auf die schnelle finde ich nichts zu lxc --vm

LXC nutzen den Kernel des Hosts, sie sind keine VMs

0