Backup:Hautptseite: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
// via Wikitext Extension for VSCode |
// via Wikitext Extension for VSCode |
||
| Zeile 1: | Zeile 1: | ||
==SSH Key Schlüssel Anlegen== | |||
<pre> | |||
# Erstellt einen neuen SSH-Schlüssel (falls noch nicht vorhanden) | |||
ssh-keygen -t rsa -b 4096 | |||
# Kopiert den öffentlichen Schlüssel auf den Zielserver | |||
# Ersetzen Sie 'benutzer' und 'hostname' durch die entsprechenden Werte | |||
ssh-copy-id benutzer@hostname | |||
# Falls der SSH-Server einen anderen Port als 22 verwendet | |||
# ssh-copy-id -p <port> benutzer@hostname | |||
=== Vorteile === | |||
* '''Sicherheit:''' Deutlich sicherer als passwortbasierte Authentifizierung. SSH-Schlüssel sind wesentlich komplexer und widerstandsfähiger gegen Brute-Force-Angriffe. | |||
* '''Bequemlichkeit:''' Ermöglicht passwortloses Anmelden, was die Automatisierung von Aufgaben (z.B. Backups mit rsync, wie im unteren Beispiel) erheblich vereinfacht. | |||
=== Nachteile === | |||
* '''Schlüsselverwaltung:''' Der private Schlüssel muss absolut sicher aufbewahrt werden. Bei Diebstahl erhält ein Angreifer Zugriff auf alle Systeme, auf denen der öffentliche Schlüssel hinterlegt ist. | |||
* '''Einmaliger Einrichtungsaufwand:''' Die Ersteinrichtung ist etwas aufwändiger als die reine Verwendung eines Passworts. | |||
* '''Verlust des Schlüssels:''' Bei Verlust des privaten Schlüssels (ohne Backup) geht der Zugriff verloren und muss über einen anderen Weg wiederhergestellt werden. | |||
=== Was tun, wenn der Zugriff nicht mehr möglich ist? === | |||
Wenn Sie einen neuen Rechner einrichten oder den Zugriff über Ihren bisherigen Schlüssel verloren haben, gibt es mehrere Möglichkeiten: | |||
* '''Privaten Schlüssel vom alten Rechner kopieren:''' | |||
** Der sicherste und einfachste Weg ist, Ihren privaten Schlüssel (z.B. `~/.ssh/id_rsa`) von Ihrem alten auf Ihren neuen Rechner zu kopieren. | |||
** Stellen Sie sicher, dass die Datei auf dem neuen System die richtigen Berechtigungen hat (`chmod 600 ~/.ssh/id_rsa`), damit sie von SSH akzeptiert wird. | |||
* '''Neuen Schlüssel generieren und hinzufügen:''' | |||
** Erstellen Sie auf Ihrem neuen Rechner ein neues Schlüsselpaar (wie oben beschrieben mit `ssh-keygen`). | |||
** Sie müssen den neuen '''öffentlichen''' Schlüssel (`~/.ssh/id_rsa.pub`) zum Server hinzufügen. Dafür benötigen Sie vorübergehend eine andere Zugriffsmöglichkeit auf den Server (z.B. Passwort-Login, Zugriff über einen anderen Rechner oder eine Konsole Ihres Hosters), um den Inhalt der `.pub`-Datei in die `~/.ssh/authorized_keys`-Datei auf dem Server einzufügen. | |||
* '''Zugriff über den Hoster wiederherstellen:''' | |||
** Wenn keine der oben genannten Methoden möglich ist, müssen Sie sich an Ihren Server-Hoster wenden. Dieser kann Ihnen in der Regel über ein Web-Interface (Rescue-System, VNC/KVM-Konsole) Zugriff gewähren, sodass Sie einen neuen öffentlichen Schlüssel hinterlegen können. | |||
</pre> | |||
==Beispiel Site== | ==Beispiel Site== | ||
<pre> | <pre> | ||
Version vom 29. Juni 2025, 13:53 Uhr
SSH Key Schlüssel Anlegen
# Erstellt einen neuen SSH-Schlüssel (falls noch nicht vorhanden) ssh-keygen -t rsa -b 4096 # Kopiert den öffentlichen Schlüssel auf den Zielserver # Ersetzen Sie 'benutzer' und 'hostname' durch die entsprechenden Werte ssh-copy-id benutzer@hostname # Falls der SSH-Server einen anderen Port als 22 verwendet # ssh-copy-id -p <port> benutzer@hostname === Vorteile === * '''Sicherheit:''' Deutlich sicherer als passwortbasierte Authentifizierung. SSH-Schlüssel sind wesentlich komplexer und widerstandsfähiger gegen Brute-Force-Angriffe. * '''Bequemlichkeit:''' Ermöglicht passwortloses Anmelden, was die Automatisierung von Aufgaben (z.B. Backups mit rsync, wie im unteren Beispiel) erheblich vereinfacht. === Nachteile === * '''Schlüsselverwaltung:''' Der private Schlüssel muss absolut sicher aufbewahrt werden. Bei Diebstahl erhält ein Angreifer Zugriff auf alle Systeme, auf denen der öffentliche Schlüssel hinterlegt ist. * '''Einmaliger Einrichtungsaufwand:''' Die Ersteinrichtung ist etwas aufwändiger als die reine Verwendung eines Passworts. * '''Verlust des Schlüssels:''' Bei Verlust des privaten Schlüssels (ohne Backup) geht der Zugriff verloren und muss über einen anderen Weg wiederhergestellt werden. === Was tun, wenn der Zugriff nicht mehr möglich ist? === Wenn Sie einen neuen Rechner einrichten oder den Zugriff über Ihren bisherigen Schlüssel verloren haben, gibt es mehrere Möglichkeiten: * '''Privaten Schlüssel vom alten Rechner kopieren:''' ** Der sicherste und einfachste Weg ist, Ihren privaten Schlüssel (z.B. `~/.ssh/id_rsa`) von Ihrem alten auf Ihren neuen Rechner zu kopieren. ** Stellen Sie sicher, dass die Datei auf dem neuen System die richtigen Berechtigungen hat (`chmod 600 ~/.ssh/id_rsa`), damit sie von SSH akzeptiert wird. * '''Neuen Schlüssel generieren und hinzufügen:''' ** Erstellen Sie auf Ihrem neuen Rechner ein neues Schlüsselpaar (wie oben beschrieben mit `ssh-keygen`). ** Sie müssen den neuen '''öffentlichen''' Schlüssel (`~/.ssh/id_rsa.pub`) zum Server hinzufügen. Dafür benötigen Sie vorübergehend eine andere Zugriffsmöglichkeit auf den Server (z.B. Passwort-Login, Zugriff über einen anderen Rechner oder eine Konsole Ihres Hosters), um den Inhalt der `.pub`-Datei in die `~/.ssh/authorized_keys`-Datei auf dem Server einzufügen. * '''Zugriff über den Hoster wiederherstellen:''' ** Wenn keine der oben genannten Methoden möglich ist, müssen Sie sich an Ihren Server-Hoster wenden. Dieser kann Ihnen in der Regel über ein Web-Interface (Rescue-System, VNC/KVM-Konsole) Zugriff gewähren, sodass Sie einen neuen öffentlichen Schlüssel hinterlegen können.
Beispiel Site
rsync -avz --delete \ --exclude 'LocalSettings.php' \ --exclude '.git/' \ --exclude '.gitignore' \ --exclude 'images/' \ --exclude 'cache/' \ /var/www/mediawiki \ user@prod:/var/www/mediawiki/
Moodle Einstellungen für Nginx auf dem lokalen Rechner
Ein Beispiel für eine einfache Nginx-Konfiguration für Moodle auf einem lokalen Rechner:
server {
listen 80;
server_name localhost;
root /var/www/moodle;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
Stelle sicher, dass die Pfade zu deiner PHP-Version und zum Moodle-Verzeichnis passen.