Table of Contents

Webseite auf unseren Server laden

Sie bekommen ein Usernamen und Login auf unserem Webserver https://ofi.tech-lab.ch (steht im E24 an der KSBG).

Damit können Sie Dateien auf und vom Webserver transferieren.

Zu dieser Lerneinheit gibt es einen Screencast, oder auch auf Sharepoint.

scp (secure copy)

Auf der Kommandozeile (git-bash) gehen Sie in den Freifach Programmieren Verzeichnis.

  • Stellen Sie sicher, dass Sie sich im Verzeichnis befinden, worin sich das Vezeichnis hello mit Ihrer ersten Webseite befindet.
  • Kopieren Sie das ganze Verzeichnis mit
scp -P 23 -r hello hans.wurst@ofi.tech-lab.ch:.

Bei der aller ersten Verbindung werden Sie gefragt, ob der Fingerprint vom Server-Schlüssel korrekt ist: ED25519 key fingerprint is SHA256:wAFwuSzfShOE3Oqhm0Hdo1JtFS91pUKFSf8kaerE0sc.

Der SSH-Port (normalerweise 22) ist im Tech-Lab schon von einem anderen Server belegt. Darum -P 23 (oder 40199, falls der Port im Kanti-Netzwerk gesperrt sein sollte).

Das -r steht für «rekursiv», d.h. alle Verzeichnisse mit Inhalt und Unterverzeichnissen kopieren. Der Punkt am Schluss besagt, dass ins Home-Verzeichnis auf dem Server kopiert werden soll.

Sie sollten jetzt Ihre Webseite auf dem Server unter https://ofi.tech-lab.ch/2023/ etc. anschauen können. Vergessen Sie nicht, die Webadresse am Schluss noch mit hello/ zu ergänzen.

~/.ssh/config und remote shell mit ssh

So viele Optionen, nur um eine Datei oder ein Verzeichnis zu kopieren, ist mühsam. Darum werden wir diese Optionen in die Datei ~/.ssh/config schreiben (die ~ steht für das Home-Verzeichnis, normalerweise etwas im Stil von /c/Users/Hans.Wurst/.

  • Auf der Kommandzeile (git-bash) geben Sie das folgende Kommando ein, um die Config-Datei zu schreiben:
code ~/.ssh/config
  • Fügen Sie folgende Zeilen in die Datei ein und speichern Sie diese:
Host ofi
    HostName ofi.tech-lab.ch
    User hans.wurst
    Port 23
  • Probieren Sie jetzt unten stehende Kommandozeile aus (anstatt voll ausgeschrieben ssh -p 23 hans.wurst@ofi.tech-lab.ch)
ssh ofi
  • Damit sind Sie direkt auf dem Webserver eingeloggt, was am geänderten Prompt zu erkenne ist. Mit ls -la sehen Sie sämtliche Dateien und Verzeichnisse.
  • Sie können nun Ihr Webserver-Passwort ändern mit passwd (bei der Passworteingabe wird gar nichts angezeigt).
  • Wenn Sie Ihre Webseite gleich schon öffentlich schalten möchten, verschieben Sie die Datei .htaccess ins Verzeichnis private mit mv .htaccess private/. (oder löschen Sie die Datei .htaccess mit rm .htaccess)
  • Die Datei index.html dürfen Sie ebenfalls ins Verzeichnis private verschieben oder löschen, damit das Verzeichnis angezeigt wird.
mv .htaccess private/.
mv index.html private/.
  • Mit exit verlassen Sie den Webserver und befinden sich wieder auf Ihrem Computer. Versuchen Sie dann (mit jetzt geändertem Passwort).
scp -r hello ofi:.
  • Das ist nun hoffentlich doch etwas einfacher!

Verbindung mit Schlüsseln statt Passwörtern (optional)

In git-bash führen Sie folgende Kommandos aus:

  • Schlüssel generieren (Speicherort akzeptieren, ein neues Schlüsselpasswort setzen):
ssh-keygen.exe -t ed25519 -C "hans.wurst@windoof"
  • Dann den Schlüssel kopieren:
ssh-copy-id ofi