dienste:bytecluster0002

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
dienste:bytecluster0002 [25.06.2020 22:13] mape2kdienste:bytecluster0002 [02.12.2023 22:36] (aktuell) mape2k
Zeile 3: Zeile 3:
 bytecluster0002 ist ein Virtualisierungsserver, der Kommunikationsdienste für den Verein bereitstellt. bytecluster0002 ist ein Virtualisierungsserver, der Kommunikationsdienste für den Verein bereitstellt.
 Er löst [[bytecluster0001]] ab. Er löst [[bytecluster0001]] ab.
 +
 +====== Virtuelle Hardware ======
 +
 +  * 4 Kerne
 +  * 16 GB RAM
 +  * Volumes
 +    * 160 GB / //(inkludiert)//
 +    * 100 GB /mnt/data //(zusätzlich)//
 +
 +====== Migration ======
 +
 +  * mehr zur Migration unter [[dienste:bytecluster0002:migration]]
 +
 +====== Festlegungen (Diskussionsgrundlage) ======
 +
 +  * Kein produktiver Container ohne Dokumentation.
 +  * Der erste Schritt beim Installieren und Testen ist immer einer leere Dokumentation.
 +  * Container ohne Dokumentation werden ohne Rückfrage heruntergefahren und bei Kapazitätsengpässen entfernt.
 +  * Spiel- und Testcontainer sind eindeutig im Namen gekennzeichnet.
 +  * Mit Resourcen (Disk/RAM) wird verantwortungsvoll umgegangen - Upscaling geht später immer.
 +
 +====== Container ======
 +
 +  * siehe [[dienste:bytecluster0002:host-netzwerke|host-netzwerke]]
  
 ====== Administratoren ====== ====== Administratoren ======
Zeile 10: Zeile 34:
   * [[user:suicider]]   * [[user:suicider]]
   * [[user:chaos]]   * [[user:chaos]]
 + 
 ====== IPs /DNS ====== ====== IPs /DNS ======
 +===== extern =====
   * bytecluster0002.bytespeicher.org   * bytecluster0002.bytespeicher.org
     * 138.201.246.25     * 138.201.246.25
     * 2a01:4f8:c17:cf64::1     * 2a01:4f8:c17:cf64::1
 +
 +===== intern =====
 +
 +  * Vergabe siehe [[dienste:bytecluster0002:host-netzwerke]]
 +
 +  * Netzwerk für Internetzugang und Traefik
 +    * 10.2.0.254/24
 +    * fd00:10:2:0::0/64
 +
 +  * Netzwerk für Datenbankserver und -clients
 +    * 10.3.0.0/24
 +    * fd00:10:3:0::0/64
 +    * IPs liegen am Host nicht an
  
 ====== Betrieb ====== ====== Betrieb ======
Zeile 38: Zeile 75:
       * Das Passwort ist für den Nutzung von sudo und für die Proxmox-Weboberfläche gültig und sollte vom Benutzer dann geändert werden!       * Das Passwort ist für den Nutzung von sudo und für die Proxmox-Weboberfläche gültig und sollte vom Benutzer dann geändert werden!
       * **passwd mustermann**        * **passwd mustermann** 
 +
 +===== Benutzer-Zugang zu Proxmox als Admin gewähren =====
 +  - Benutzer als Admin hinzufügen zuweisen
 +    * **pveum user add mustermann@pam -groups admin -enable 1 -firstname "Max" -lastname "Mustermann"**
 +  - Login des Benutzers
 +    * **passwd** - Passwort ändern
 +    * **pve_generate_oath**
 +      * QR-Code mit geeignetem 2FA-Client scannenund nach Enter Ausführung mit eigenem Passwort (für sudo) bestätigen
  
 ====== Installation ====== ====== Installation ======
Zeile 43: Zeile 88:
 ===== Betriebssystem =====  ===== Betriebssystem ===== 
  
-  * Debian 10 minimal (vorinstalliert)+  * Debian 12 minimal (vorinstalliert)
  
 ==== Vorkonfiguration ===== ==== Vorkonfiguration =====
Zeile 52: Zeile 97:
  
 ==== Grundeinrichtung ==== ==== Grundeinrichtung ====
 +====== Migration ======
  
   - System aktualisieren   - System aktualisieren
Zeile 60: Zeile 106:
     * mc (Dateimanager)     * mc (Dateimanager)
     * debian-goodies (Debian-Systemtools)     * debian-goodies (Debian-Systemtools)
 +    * needrestart (Prüfung von Diensteneustarts nach Update)
     * net-tools (Netzwerktools)     * net-tools (Netzwerktools)
-    * **apt-get install vim mc debian-goodies net-tools**+    * **apt-get install vim mc debian-goodies needrestart net-tools**
   - Suche in der Konsole mit Bild-ab/Bild-auf aktivieren<file|/etc/inputrc>   - Suche in der Konsole mit Bild-ab/Bild-auf aktivieren<file|/etc/inputrc>
 ... ...
Zeile 72: Zeile 119:
 ==== Absicherung ==== ==== Absicherung ====
  
-  - NFS / rpcbind deaktivieren (wird nicht benötigt, offene Ports schließen) +  - NFS / rpcbind deaktivieren und beenden (wird nicht benötigt, offene Ports schließen) 
-    * **systemctl stop rpcbind.socket** +    * **<nowiki>systemctl disable --now rpcbind.service rpcbind.socket</nowiki>**
-    * **systemctl disable rpcbind.socket**+
   - sudo installieren und konfigurieren   - sudo installieren und konfigurieren
     * **apt-get install sudo**     * **apt-get install sudo**
Zeile 83: Zeile 129:
   - SSH - Login als root und mit Passwort deaktivieren   - SSH - Login als root und mit Passwort deaktivieren
     * Vorher mindestens einen Benutzer einrichten, der einen SSH-Schlüssel hinterlegt hat!     * Vorher mindestens einen Benutzer einrichten, der einen SSH-Schlüssel hinterlegt hat!
-    - Konfiguration anpassen<file|/etc/ssh/sshd_config+    - Konfiguration anpassen<file|/etc/ssh/sshd_config.d/01_custom.conf>
-...+
 PermitRootLogin no PermitRootLogin no
-... 
 PasswordAuthentication no PasswordAuthentication no
-... +KbdInteractiveAuthentication no
-ChallengeResponseAuthentication no +
-...+
 </file> </file>
     - SSH-Daemon neustarten     - SSH-Daemon neustarten
       * **systemctl restart sshd**       * **systemctl restart sshd**
 +
 +===== Netzwerk =====
 +==== Bridges für Netzwerk(e) einrichten ====
 +
 +Die Einrichtung von Bridges sollte nicht über die Web-GUI erfolgen, da dabei u.U. bestehende Konfigurationen aus dem Ordner /etc/network/interfaces.d nicht mehr funktionieren. Die Bridges werden in /etc/network/interfaces angelegt, damit sie in der Proxmox-GUI sichtbar sind.
 +
 +  - Bridge für Internetzugang in Containern und Datenbanknetzwerk anlegen<file|/etc/network/interfaces>
 +...
 +auto vmbr0
 +iface vmbr0 inet static
 +  address 10.2.0.254
 +  netmask 255.255.255.0
 +  bridge_ports none
 +  bridge_stp off
 +  bridge_fd 0
 +#Frontend-Netzwerk (Traefik) mit Internetzugang
 +iface vmbr0 inet6 static
 +  address fd00:10:2:0::0
 +  netmask 64
 +
 +auto vmbr1
 +iface vmbr1 inet manual
 +  bridge_ports none
 +  bridge_stp off
 +  bridge_fd 0
 +#Datenbanken
 +</file>
 +  - Bridges starten
 +    * **ifup vmbr0**
 +    * **ifup vmbr1**
 +
 +==== Paketfilter einrichten ====
 +
 +**Hinweis**: Es wurde iptables statt nftables (Standard bei Debian Buster) verwendet, weil nftables noch kein NETMAP unterstützt.
 +
 +  - iptables-persistent installieren, um iptables-Regeln für Neustarts zu speichern
 +    * **apt-get install iptables-persistent**
 +    * Aktuelle Regeln nicht speichern
 +  - NAT (portbasiert) für IPv4
 +    * **iptables -t nat -A POSTROUTING -o eth0 -s 10.2.0.0/24 -j MASQUERADE** 
 +  - NAT-Reflection für IPv4 (Zugriff von intern auf externe IP-Adresse für Ports 80/443)
 +    * **<nowiki>iptables -t nat -A PREROUTING -i vmbr0 -s 10.2.0.0/24 -d 138.201.246.25/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.2.0.1:80</nowiki>**
 +    * **<nowiki>iptables -t nat -A PREROUTING -i vmbr0 -s 10.2.0.0/24 -d 138.201.246.25/32 -p tcp -m tcp --dport 443 -j DNAT --to-destination 10.2.0.1:443</nowiki>**
 +    * **<nowiki>iptables -t nat -A POSTROUTING -o vmbr0 -s 10.2.0.0/24 -j SNAT --to-source 138.201.246.25</nowiki>**
 +  - NAT (prefixbasiert) für IPv6
 +    * **<nowiki>ip6tables -t nat -A POSTROUTING -o eth0 --to 2a01:4f8:c17:cf64:ffff::/80 -s fd00:10:2:0::/64 -j NETMAP</nowiki>**
 +    * **<nowiki>ip6tables -t nat -A PREROUTING -i eth0 -d 2a01:4f8:c17:cf64:ffff::/80 --to fd00:10:2:0::/64 -j NETMAP</nowiki>**
 +  - NAT-Reflection für IPv6 (Zugriff von intern auf externe IP-Adresse)
 +    * **<nowiki>ip6tables -t nat -A POSTROUTING -o vmbr0 -s fd00:10:2::/64 -j SNAT --to-source 2a01:4f8:c17:cf64::1</nowiki>**
 +  - Regeln speichern
 +    * **netfilter-persistent save**
 +
 +==== Forwarding aktivieren ====
 +
 +  - sysctl-Konfiguration erstellen<file|/etc/sysctl.d/99-forward.conf>
 +# Forwarding aktivieren
 +net.ipv4.conf.eth0.forwarding = 1
 +net.ipv4.conf.vmbr0.forwarding = 1
 +net.ipv6.conf.all.forwarding = 1
 +</file>
 +  - sysctl-Konfiguration übernehmen
 +    * **<nowiki>sysctl --system -a</nowiki>**
 + 
 +==== Eingerichtete Forwards ====
 +
 +  * Port 80/443 für Container [[dienste:bytecluster0002:traefik|traefik]]
 +    * **iptables -t nat -A PREROUTING -d 138.201.246.25/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.2.0.1:80**
 +    * **iptables -t nat -A PREROUTING -d 138.201.246.25/32 -p tcp -m tcp --dport 443 -j DNAT --to-destination 10.2.0.1:443**
 +
 +  * NGINX default im web-container<code>
 +iptables -t nat -A PREROUTING -d 138.201.246.25/32 -p tcp --dport 8089 -j DNAT --to 10.2.0.10:8089
 +</code>
 +  * Dokuwiki im web-container<code>
 +iptables -t nat -A PREROUTING -d 138.201.246.25/32 -p tcp --dport 8088 -j DNAT --to 10.2.0.10:8088
 +</code>
 +  * Nextcloud im nextcloud.test container<code>
 +iptables -t nat -A PREROUTING -d 138.201.246.25/32 -p tcp --dport 8087 -j DNAT --to 10.2.0.20:8087
 +</code>
 +  * Wordpress im wordpress.test container<code>
 +iptables -t nat -A PREROUTING -d 138.201.246.25/32 -p tcp --dport 8086 -j DNAT --to 10.2.0.30:8086
 +</code>
  
 ===== Proxmox ===== ===== Proxmox =====
Zeile 107: Zeile 230:
 # 127.0.1.1 bytecluster0002 bytecluster0002 # 127.0.1.1 bytecluster0002 bytecluster0002
 127.0.0.1 localhost 127.0.0.1 localhost
-10.10.0.2 bytecluster0002 pvelocalhost+10.10.0.2 bytecluster0002.bytespeicher.org bytecluster0002 pvelocalhost
 ... ...
 </file> </file>
Zeile 120: Zeile 243:
         * Postfix Configuration: **Local only**         * Postfix Configuration: **Local only**
         * System Name: **bytecluster0002**         * System Name: **bytecluster0002**
 +
 +==== Anpassung der Update-Repository ====
 +
 +Proxmox richtet das Repository für die Enterprise-Version mit ein. Ohne Subskription schlägt das Update der Quelle aber fehl und sie muss daher deaktiviert werden. 
 +
 +  - Enterprise-Repository deaktivieren
 +    * **sed -i -e 's/^/# /' /etc/apt/sources.list.d/pve-enterprise.list**
 + 
 +==== 2FA Grundeinrichtung =====
 +
 +  - Skript anlegen<file|/usr/local/bin/pve_generate_oath>
 +#!/bin/bash
 +
 +clear
 +
 +USERNAME=$USER
 +HOSTNAME=$(hostname --fqdn)
 +OATHKEY=$(oathkeygen)
 +
 +
 +qrencode -t ANSIUTF8 -o - "$(echo otpauth://totp/Proxmox $HOSTNAME?secret=$OATHKEY)"
 +
 +read -p "Scan QR code in your application and press enter to activate. Otherwise press Ctrl+C" -n1 -s
 +sudo pveum user modify $USER@pam -keys $OATHKEY
 +</file>
 +  - Berechtigungen anpassen und ausführbar machen
 +    * **chown root:root /usr/local/bin/pve_generate_oath**
 +    * **chmod 755 /usr/local/bin/pve_generate_oath**
 +  - 2FA für PAM-Anmeldungen verpflichtend machen
 +    * **pveum realm modify pam -tfa type=oath,digits=6 -default 1**
 +
 +==== Admin-Gruppe und ersten Benutzer anlegen ====
 +
 +  - Admin-Gruppe anlegen
 +    * **pveum group add admin -comment "Administrators"**
 +    * **pveum aclmod / -group admin -role Administrator**
 +  - ersten Benutzer zuweisen und root sperren
 +    * **pveum user add mustermann@pam -groups admin -enable 1 -firstname "Max" -lastname "Mustermann"**
 +    * **pveum user modify root@pam -enable 0**
 +  - 2FA für ersten Benutzer aktivieren
 +    * **ALS BENUTZER AUSFÜHREN** - vorher also **su mustermann** (falls als root eingeloggt)
 +    * **pve_generate_oath**
 +      * QR-Code scannen und nach Enter ggf. Ausführung mit eigenem Passwort für sudo bestätigen
 +
 +==== SSL mit Let's Encrypt ====
 +
 +Quelle: [[https://pve.proxmox.com/wiki/Certificate_Management]]
 +
 +  - Mail-Account für Let's Encrypt registrieren
 +    * **pvenode acme account register default xxxxxxxxxx@bytespeicher.org**<file>
 +Directory endpoints:
 +0) Let's Encrypt V2 (https://acme-v02.api.letsencrypt.org/directory)
 +1) Let's Encrypt V2 Staging (https://acme-staging-v02.api.letsencrypt.org/directory)
 +2) Custom
 +Enter selection: 0
 +
 +Attempting to fetch Terms of Service from 'https://acme-v02.api.letsencrypt.org/directory'..
 +Terms of Service: https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf
 +Do you agree to the above terms? [y|N]: y
 +
 +Attempting to register account with 'https://acme-v02.api.letsencrypt.org/directory'..
 +Generating ACME account key..
 +Registering ACME account..
 +Registration successful, account URL: 'https://acme-v02.api.letsencrypt.org/acme/acct/XXXXXXXX'
 +Task OK
 +</file>
 +  - Domain hinterlegen
 +    * **<nowiki>pvenode config set --acme domains=$(hostname --fqdn)</nowiki>** 
 +  - Erstes Zertifikat intitialisieren
 +    * **pvenode acme cert order**<file>...
 +Task OK
 +</file> 
 +
 +==== SSH-Forward-Hook einrichten ====
 +
 +  - Skript hinterlegen<file|/var/lib/vz/snippets/ssh_forward.sh>
 +#!/usr/bin/sh
 +# Hook script to automatically forward SSH-Port to Container
 +
 +VMID=$1
 +PHASE=$2
 +
 +
 +NETWORK_INTERFACE_EXTERNAL=eth0
 +NETWORK_INTERFACE_INTERNAL=vmbr0
 +SSH_DESTINATION_PORT=22
 +SSH_FORWARD_BASE_PORT=22000
 +
 +# Determine container details
 +IP_ADDRESS_INTERNAL=$(pct config $VMID | grep "bridge=$NETWORK_INTERFACE_INTERNAL" | sed --regexp-extended 's/.*ip=([0-9\.]*)\/.*/\1/')
 +# IP_LAST_OCTET=$(pct config $VMID | grep "bridge=$NETWORK_INTERFACE_INTERNAL" | sed --regexp-extended 's/.*ip=[0-9]+\.[0-9]+\.[0-9]+\.([0-9]+)\/.*/\1/')
 +SSH_FORWARD_PORT=$(expr $SSH_FORWARD_BASE_PORT + $VMID)
 +
 +echo "GUEST HOOK on VMID $VMID for phase $PHASE"
 +
 +echo "Internal IP address: $IP_ADDRESS_INTERNAL"
 +echo "SSH-Port on host: $SSH_FORWARD_PORT"
 +
 +case "$PHASE" in
 +
 +  # First phase 'pre-start' will be executed before the guest
 +  # ist started. Exiting with a code != 0 will abort the start
 +  pre-start) echo "$VMID is starting, doing preparations.\n"
 +             iptables -t nat -A PREROUTING -i $NETWORK_INTERFACE_EXTERNAL -p tcp --dport $SSH_FORWARD_PORT -j DNAT --to $IP_ADDRESS_INTERNAL:$SSH_DESTINATION_PORT
 +             ;;
 +
 +  # Second phase 'post-start' will be executed after the guest
 +  # successfully started.
 +  post-start) echo "$VMID started successfully.\n"
 +              ;;
 +
 +  # Third phase 'pre-stop' will be executed before stopping the guest
 +  # via the API. Will not be executed if the guest is stopped from
 +  # within e.g., with a 'poweroff'
 +  pre-stop) echo "$VMID will be stopped.\n"
 +            ;;
 +
 +  # Last phase 'post-stop' will be executed after the guest stopped.
 +  # This should even be executed in case the guest crashes or stopped
 +  # unexpectedly.
 +  post-stop) echo "$VMID stopped. Doing cleanup.\n"
 +             iptables -t nat -D PREROUTING -i $NETWORK_INTERFACE_EXTERNAL -p tcp --dport $SSH_FORWARD_PORT -j DNAT --to $IP_ADDRESS_INTERNAL:$SSH_DESTINATION_PORT
 +             ;;
 +
 +  *) echo "Got unknown phase '$PHASE'\n"
 +     exit 1
 +     ;;
 +esac
 +</file>
 +  - Skript ausführbar machen
 +    * **chmod +x /var/lib/vz/snippets/ssh_forward.sh**
 +
 +==== Zusätzliches Volume einrichten ====
 +
 +  - Volume vorbereiten als /mnt/data
 +  - Volume in Proxmox einbinden
 +    * **pvesm add dir data -content rootdir,images,backup -path /mnt/data/**
 +
 +==== Anpassung des Standard-Templates auf Debian-Basis ====
 +
 +  - Systemd-Container installieren
 +    * **apt-get install systemd-container** 
 +  - Liste der verfügbaren Template aktualisieren
 +    * **pveam update**
 +  - Verfügbare Images anzeigen
 +    * **<nowiki>pveam available --section system | grep debian</nowiki>**<code>system          debian-11-standard_11.7-1_amd64.tar.zst
 +system          debian-12-standard_12.2-1_amd64.tar.zst</code>
 +  - Debian 12 Image herunterladen
 +    * **pveam download local debian-12-standard_12.2-1_amd64.tar.zst** 
 +  - Template in neuen Ordner entpacken
 +    * **mkdir /tmp/template**
 +    * **cd /tmp/template**
 +    * **<nowiki>tar --numeric-owner --extract --verbose --file=/var/lib/vz/template/cache/debian-12-standard_12.2-1_amd64.tar.zst --directory=/tmp/template</nowiki>**
 +  - In das Template-System wechseln
 +    * **systemd-nspawn -D /tmp/template**<code|Ausgabe>
 +Spawning container template on /tmp/template.
 +Press ^] three times within 1s to kill container.
 +root@template:~#
 +</code>
 +  - Template: Konfiguration und Software anpassen
 +    - APT-Quellen auf Hetzner festlegen
 +      * **<nowiki>echo "deb http://mirror.hetzner.de/debian/security bookworm-security main contrib" > /etc/apt/sources.list.d/hetzner-security-updates.list</nowiki>**
 +      * **<nowiki>echo "deb http://mirror.hetzner.de/debian/packages bookworm main contrib" > /etc/apt/sources.list.d/hetzner-mirror.list</nowiki>**
 +      * **<nowiki>echo "deb http://mirror.hetzner.de/debian/packages bookworm-updates main contrib" >> /etc/apt/sources.list.d/hetzner-mirror.list</nowiki>**
 +      * **<nowiki>echo "deb http://mirror.hetzner.de/debian/packages bookworm-backports main contrib" >> /etc/apt/sources.list.d/hetzner-mirror.list</nowiki>**
 +    - Alle Änderungen aus Betriebssystem von bytecluster0002 vornehmen
 +      * Ausnahmen: NFS deaktivieren und SSH neustarten 
 +    - Template bereinigen
 +      * **apt-get clean**
 +      * **history -c**
 +    - Aus Template ausloggen
 +      * **logout**
 +  - Template packen und temporären Ordner entfernen
 +    * **<nowiki>tar --numeric-owner --create --zstd --verbose --file=/var/lib/vz/template/cache/debian-12-$(hostname).tar.zst .</nowiki>**
 +    * **cd**
 +    * **<nowiki>rm --recursive /tmp/template</nowiki>**
 +
 +==== Neuen Container anlegen ====
 +=== Anmelden bei Proxmox Web-Gui ===
 +  - Vorbedingung: 2FA aktivieren
 +      * Auf Console einloggen (via hinterlegtem Public Key)
 +      * **pve_generate_oath** ausführen (als normaler Nutzer)
 +      * Angezeigten QR-Code mit Smartphone scannen und an beliebiges 2FA tool (z.B. Google Auhenticator) weiterleiten
 +      * Wichtig: QR-Code-Anzeige in der Konsole mit **Enter** schliessen
 +  - https://bytecluster0002.bytespeicher.org:8006 aufrufen
 +    * Username + Passwort wie im Linux
 +    * 2FA-Token aus der Smartphone-App
 +
 +=== Container anlegen und konfigurieren ===
 +  - **Create CT** Button oben rechts
 +  - **hostname** frei wählen (z.B. 'web'), **CT ID** zählt automatisch hoch, **SSH public key** vom eigenen Rechner hochladen (derselbe, der für den Login zum host-server benutzt wird), **Next** klicken
 +  - **template** //debian-10-bytecluster0002-with-users// wählen, **Next** klicken
 +  - Plattengröße, Cores und RAM wählen
 +  - Unter **network** statische IPs vergeben: IPv4: 10.2.0.x/24 Gateway 10.2.0.0 IPv6: fd00:10:2:0::x/64 Gateway fd00:10:2:0::0 mit freiem x (0 = host, 10 = web, ...); 
 +  - Im letzten Tab bestätigen und ggfs. Container sofort starten.
 +
 +=== Automatischen SSH-Forward für Container konfigurieren ===
 +
 +  - Per SSH auf dem Host einloggen
 +  - Hook-Skript an Container binden
 +    * **sudo pct set <CT ID> -hookscript local:snippets/ssh_forward.sh**
 +  - Container ist nach dem (Neu)Start per SSH auf Port 22000 + <CT ID> (z.B. 22149 für Container mit ID 149) direkt erreichbar
 +
 +=== In Container einloggen ===
 +
 +  * Vor weiteren Konfigurationen ist der Container nicht von aussen erreichbar, sondern nur über den Host
 +  * Die Benutzer-Accounts des Hosts sind auch im Container angelegt, das Passwort liegt in einer passwort.txt im Home des Benutzers im Container
 +  * Ein Login ist über mittels SSH-Key möglich, die Keys sind in den Containern vorab hinterlegt
 +    * Es empfiehlt sich, SSH Agent forwarding zu nutzen, statt seinen private key auf den Host zu kopieren
 +<code|Disclaimer>Wird SSH Agent Forwarding genutzt, kann potentiell jeder mit root/sudo-Rechten solange ihr eingeloggt seid euren Key benutzen, um sich in eurem Namen lokal oder auf weiteren (auch externen) Servern einzuloggen, auf denen der selbe Key benutzt wird!</code>
 +    * Dazu am eigenen Rechner einmal **ssh-add** (je nach system einmalig oder nach jedem Login), dann **ssh -A bytecluster0002.bytespeicher.org**; von dort dann **ssh 10.2.0.x** zum Container
 +  * Zum Passwort ändern kann man sich zur Konsole des Containers verbinden
 +    * Von der Konsole des Hosts aus mit **sudo pct console <CT ID>**
 +    * Über das Web-Frontend kann man die "Console" nutzen
 +    * In der Konsole kann man sich als root mit dem festgelegten Passwort einloggen und mit **passwd <nutzername>** das Benutzer-Passwort ändern
 +  * Alle bekannten Nutzer sind sudo-fähig
  • dienste/bytecluster0002.1593115989.txt.gz
  • Zuletzt geändert: 25.06.2020 22:13
  • von mape2k