Seite 1 von 2

HowTo: ssh container einrichten

Verfasst: Do Apr 14, 2022 12:24 am
von starwarsfan
Hallo miteinander,

da ich gerade in Doku-Laune war, habe ich das Setup des neuen ssh-Containers auf dem Timberwolf-Server dokumentiert. Das Image steht für alle Wolf-Architekturen zur Verfügung, womit das HowTo überall funktionieren sollte. Viel Spass und immer her mit dem Feedback!

1. Image herunterladen
Auf der Portainer-Seite unter Images das Image starwarsfan/alpine-sshd:latest pullen:

Bild

2. Container anlegen
Auf der Portainer-Seite unter Containers Klick auf + Add container:

Bild

Nun im neuen Fenster

- dem Container im ersten Feld einen Namen geben (bspw. ssh-access)
- im zweiten Feld das zugrundeliegende Image eintragen, welches im vorherigen Step gepullt wurde (starwarsfan/alpine-sshd:latest)

Bild

- Publish all exposed ports sollte nur dann aktiviert werden, wenn MacVLAN verwendet wird, da der Container dann eine eigene IP hat und es zu keinem Konflikt mit dem mglw. anderweitig vom Host verwendeten Port 22 kommt.
- Somit muss auf TW-Installation ohne aktiviertem MacVLAN ein höherer Port auf den ssh-Port im Container gemappt werden. Hier im Beispiel der Port 23456:

Bild

3. Volume mappings hinzufügen
Ganz nach unten scrollen und unter "Advanced container settings" Klick auf "Volumes". Dort dann Klick auf "map additional volume", so dass die Optionen für das Mapping eines Docker-Volumes eingeblendet werden. Hier kann nun das einzubindende Docker-Volume ausgewählt und ein Pfad vorgegeben werden, unter welchem es dann im laufenden Container eingebunden wird. Es empfiehlt sich hier, die Standard-Location /mnt/ für Mounts zu verwenden sowie das jeweilige Verzeichnis dort genauso zu nennen, wie das Docker-Volume heisst. Der Mount erfolgt per Default mit Schreibrechten. Wer auf Nummer sicher gehen möchte und nur lesend zugreifen will, kann den Mount auf Read-only konfigurieren. Im folgenden Screenshot wird das Edomi-Backup-Volume eingebunden:

Bild

Sollen mehrere Volumes eingebunden werden, kann man den Mapping-Schritt entsprechend oft wiederholen.

4. Root-Passwort setzen
Ebenfalls unter "Advanced container settings" Klick auf "Env". Hier können nun verschiedene Environment-Variablen definiert werden. Im einfachsten Fall wird hier direkt das Root-Passwort gesetzt, indem via Klick auf "add environment variable" die Variable "ROOT_PASSWORD" mit dem gewünschten Passwort als Value gesetzt wird.

Bild

Der Container bietet noch weitere Möglichkeiten, dazu bitte die Dokumentation konsultieren.

5. Container starten
Der Container ist damit fertig konfiguriert und kann via "Deploy the container" gestartet werden:

Bild

Im Anschluss daran sollte er in der Liste der laufenden Container zu finden sein:

Bild

Randbemerkung: Es ist nicht notwendig, dass die anderen Container laufen, auf deren Volumes zugegriffen werden soll. Je nachdem was man tut, sollte das auch tunlichst vermieden werden. ;)

6. Zugriff via ssh
Nun kann man sich via ssh auf den Container einloggen. Da hier in diesem HowTo kein anderer User konfiguriert wurde, erfolgt dieser Login als User root unter Verwendung des konfigurierten (gemappten) Ports. Beim ersten Login erfolgt hier noch eine Sicherheitsabfrage, da der Container der Maschine, von welcher ausgehend man sich verbinden möchte, noch nicht bekannt ist (Step 2 auf dem folgenden Screenshot). Danach erfolgt die Passworteingabe (3.) und man ist "drin". Bei einem erneuten Login (4.) erfolgt die Sicherheitsabfrage nicht mehr.

Unter dem konfigurierten Mountpoint ist nun der Inhalt des jeweiligen Docker-Volumes verfügbar, siehe Step 5 auf dem Screenshot.

Bild

7. Hinweise
Wird der Container gelöscht und neu angelegt, wird der erste ssh-Zugriff fehlschlagen. Das ist korrekt und normal, weil der neue Container eine andere interne ID hat. In diesem Fall muss der entsprechende Eintrag in der Liste der bekannten Hosts gelöscht werden, was ssh i.d.R. direkt selbst vorschlägt. Hier der entsprechende Verlauf beim ersten Zugriff auf einen neuen Container:

Bild

- 1. Login-Versuch in neue Container-Instanz
- 2. Löschen des alten Eintrages in ~/.ssh/known_hosts
- 3. Erneuter Login
- 4./5. Jetzt wie beim allerersten Login, da das ja auch der erste Login in diesen Container ist. ;)

Viel Spass damit und wie gesagt, lasst mich wissen, wenn's irgendwo klemmt. :handgestures-thumbupright:

Re: HowTo: ssh container einrichten

Verfasst: Do Apr 14, 2022 7:48 am
von Robosoc
Hallo Yves,

Irgendwie scheine ich etwas nicht mitbekommen zu haben...warum braucht es einen neuen ssh-Container?

Ich nutze bei mir den ssh-Container, zu dem es in der KnowledgeBase seit sehr langer Zeit eine Anleitung gibt. Sollten wir den nicht mehr nutzen?

[Edit]
Habe jetzt die Parallelsiskussion gesehen in der das Thema aufgetaucht ist. Da wäre gleich zu Beginn der Hinweis auf die Anleitung in der Knowledge Base gut gewesen...
app.php/kb/viewarticle?a=70

Re: HowTo: ssh container einrichten

Verfasst: Do Apr 14, 2022 7:38 pm
von starwarsfan
Hi
Robosoc hat geschrieben: Do Apr 14, 2022 7:48 am warum braucht es einen neuen ssh-Container?
"Brauchen" ist relativ. Das liegt immer im Auge des Betrachters... ;)

Hintergrund der ganzen Übung ist eher, dass es ein Image für alle TW-Ausprägungen gibt, damit überall das Handling exakt gleich ist und dieses Image die Arbeit damit so gut wie möglich vereinfacht. Das ist dann die Basis für eine potentielle weitere TW-App, siehe diese Diskussion resp. Fragestellung.
Robosoc hat geschrieben: Do Apr 14, 2022 7:48 am Ich nutze bei mir den ssh-Container, zu dem es in der KnowledgeBase seit sehr langer Zeit eine Anleitung gibt. Sollten wir den nicht mehr nutzen?
AFAIK wird der nicht mehr weiterentwickelt und schon allein die Tatsache, unterschiedliche Images je nach TW-Typ zu verwenden ist IMHO nicht wirklich benutzerfreundlich.

Re: HowTo: ssh container einrichten

Verfasst: Do Apr 14, 2022 8:01 pm
von Sun1453
@starwarsfan

Genau das hatte ich im anderen Beitrag auch sinnbildlich so geschrieben.

Danke für deine Arbeit für alle TWS Varianten jetzt eine Quelle zu haben und damit das ganze essentiell zu vereinfachen.

Re: HowTo: ssh container einrichten

Verfasst: Do Apr 14, 2022 11:33 pm
von 0lek
@starwarsfan Super geil! Funzt. Danke!

@Robosoc Es gibt noch einen sehr wichtigen Grund: In dem neuen image ist nano drin! Das macht alles SO VIEL EINFACHER :)

Re: HowTo: ssh container einrichten

Verfasst: Sa Jun 18, 2022 8:32 pm
von rimar
Hallo,

Ich bin absoluter SSH und Docker Neuling, darum meine Frage :confusion-scratchheadyellow:
Wie kann ich dann per SSH auf den Container zugreifen bzw. wo finde ich die Zugangsdaten welche ich in den SSH Client eingeben muss.


Edit: hat sich erledigt, hab's in der Anleitung gefunden.

Re: HowTo: ssh container einrichten

Verfasst: Sa Jun 18, 2022 10:04 pm
von StefanW
Hallo Martin,

Dann wäre ein Dankeschön in der Anleitung doch gar nicht schlecht?

Stefan

Re: HowTo: ssh container einrichten

Verfasst: Mi Jun 22, 2022 8:45 pm
von rimar
Hallo Stefan,

da hast du recht. Hab ich nachgeholt :handgestures-thumbsup:

Re: HowTo: ssh container einrichten

Verfasst: Sa Aug 06, 2022 10:12 am
von AchterB
Danke für die Anleitung!
Wie kann ich denn den Zugriff für Filezilla ermöglichen? Ich verwende den Port 23456 bzw. 22, aber es erscheint die Fehlermeldung, dass dieser Port nicht für SFTP geeignet ist.

Grüße,
Ben

Re: HowTo: ssh container einrichten

Verfasst: Sa Aug 06, 2022 11:14 am
von AchterB
Wollte meine Frage eben löschen, da es sich erledigt hat.