Pflege eines Webspaces mit SSH / SCP / SFTP

Auf praktisch allen Linux- und sonstigen Unix-Systemen finden Sie die Software SSH (Secure SHell). Diese ermöglicht durch Verschlüsselung abhörsichere Dialogverbindungen zu fremden Rechnern, auf denen ein SSHD (Secure SHell Daemon) entgegen nimmt. Meist enthält diese Software auch ein Programm SCP (Secure CoPy) und/oder ein Programm SFTP (Secure File Transfer Program) zur Übertragung von Dateien zwischen dem eigenen und dem fremden Rechner

Für Windows-Systeme gibt es verschiedene freie SSH-Software. Die Software PuTTY enthält sowohl ein SSH-Programm mit typischer Windows-Oberfläche als auch ein SCP- und ein SFTP-Programm, die jedoch über die Eingabeaufforderung bedient werden: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. Der wesentliche Vorteil von PuTTY besteht darin, dass man die Programme aufrufen kann, ohne sie vorher installieren zu müssen, man kann sie also auch auf Rechnern nutzen, auf denen man keine Administrator-Rechte hat. Trotzdem ist es natürlich am einfachsten, sich von der oben genannten Seite den Windows-style installer (Dateiname putty-0.67-installer.exe oder ggf. eine neuere Version) zu besorgen und zu installieren.

Eine Windows-typische Fensteroberfläche bietet die Software FileZilla, welche Datenübertragungen nicht nur per unsicherem FTP, sondern auch per SFTP erlaubt und dabei auf PuTTY basiert: http://www.filezilla.de/. Wir empfehlen, beide Programme zu installieren.

Alternativ gibt es unter Windows die Software SSH-Cryptonaut: https://www.ssh.com/products/ssh-cryptonaut, diese wurde jedoch nicht von Seiten des CIT getestet.

Aber auch für viele andere Systeme gibt es SSH-Software, siehe http://www.openssh.org.

Verbindung aufbauen - ohne Passwörter

Aus Sicherheitsgründen akzeptiert keiner der Rechner im Webserverpark Passwörter bei der Anmeldung. SSH-Verbindungen können ausschließlich mit Public-Key-Authentifizierung durchgeführt werden. Um Dateien in Ihrem Webspace NNN abzulegen, müssen Sie daher zuerst ein Schlüsselpaar erzeugen und den öffentlichen Schlüssel auf dem Upload-Server hinterlegen. Der geheime Schlüssel verbleibt bei Ihnen und wird mit einem Schlüssel-Passwort geschützt. Nur wer den geheimen Schlüssel besitzt und das Schlüssel-Passwort kennt, kann sich anmelden. Anleitungen finden Sie hier:

Verzeichnisse

Nach der Anmeldung befinden Sie sich im Verzeichnis /www/data/NNN/home/Nutzerkennung. Wechseln Sie für folgende Erläuterungen bitte ins Verzeichnis /www/data/. Die Verzeichnisstruktur sieht dann so aus:

/www/data/NNN.logs/                Fehlerprotokolle
/www/data/NNN/                     Ihr Hauptverzeichnis
/www/data/NNN/htdocs/NNN/          Ihre HTML-Dateien usw.
/www/data/NNN/imperialive/NNN/     Mit Imperia gepflegte Dateien
/www/data/NNN/videostream/         (Reserviert, bitte nicht benutzen)
/www/data/NNN/home/Nutzerkennung/  SSH-Schlüssel, Unixprofile
/www/data/NNN/AndereNamen/         Nicht über WWW abrufbare Daten

Sie sehen in diesem Verzeichnis /www/data/ für jedes WWW-Angebot NNN sowohl ein Datenverzeichnis NNN als auch ein Logdateiverzeichnis NNN.logs. Als Infoanbietende können Sie die Inhalte des Datenverzeichnisses verändern und die Inhalte des Logdateiverzeichnisses lesen. Auf die Verzeichnisse anderer Infoanbietenden haben Sie keinen Zugriff. (Die für Sie lesbaren Dateien groups.dir und groups.pag benötigen Sie ausschließlich bei der Einschränkung von WWW-Zugriffsrechten auf zentral eingerichtete Nutzer*innengruppen, siehe unten.)

Im Logdateiverzeichnis /www/data/NNN.logs finden Sie Protokolle über Fehler, die bei Zugriffen auf Ihren Webspace auftreten. Diese Protokolle können hilfreich sein, wenn selbst geschriebene PHP- und CGI-Programme nicht so funktionieren wie sie sollen.

Im Datenverzeichnis /www/data/NNN befinden sich das Unterverzeichnis htdocs, dieses ist das Wurzelverzeichnis Ihres WWW-Angebots, und die Unterverzeichnisse home, cgi-bin, imperialive und videostream. Sie können hier weitere Unterverzeichnisse anlegen. Auf die in /www/data/NNN/home, /www/data/NNN/imperialive oder den weiteren Unterverzeichnissen enthaltenen Dateien kann nicht über das WWW direkt zugegriffen werden. (Aber Ihre PHP- und CGI-Programme können diese Verzeichnisse nutzen.)

Im Verzeichnis /www/data/NNN/htdocs und evtl. in www/data/NNN/cgi-bin befinden sich Ihre WWW-Dateien.

Bei WWW-Angeboten unter Verzeichnisname NNN enthält das htdocs-Verzeichnis nur ein Unterverzeichnis /www/data/NNN/htdocs/NNN, der Inhalt dieses Unterverzeichnisses ist unter der WWW-Adresse http://www.uni-muenster.de/NNN/ abrufbar. (Aus technischen Gründen befinden sich weitere Dateien im htdocs-Verzeichnis, diese sollten Sie nicht anfassen.)

Bei WWW-Angeboten unter Hostname NNN kann dieses Verzeichnis beliebige Unterverzeichnisse und Dateien AAA enthalten, diese sind unter der WWW-Adresse http://NNN.uni-muenster.de/AAA abrufbar. (Analoges gilt bei WWW-Angeboten unter Domainname.)

Im schreibgeschützten Verzeichnis /www/data/NNN/imperialive befinden sich (nur bei WWW-Angeboten unter Verzeichnisname NNN) über das Content-Management-System Imperia erzeugte WWW-Dateien. Diese können mittels symbolischer Links in das htdocs-Unterverzeichnis eingebunden werden.

Im Verzeichnis /www/data/NNN/home befinden sich einige zum SSH-Login benötigte Daten, insbesondere Ihr hinterlegter Public Key.

Regelmäßige Unix-Nutzer*innen werden eine Datei /www/data/NNN/home/Nutzerkennung/.bashrc anlegen wollen, um die Arbeitsumgebung an eigene Gewohnheiten anzupassen. Nutzer*innen mit Zugriff auf mehrere Webspaces haben aber nur in einem Webspace ein home-Verzeichnis.

Für den gesamten Verzeichnisbaum unter /www/data/NNN (also ohne Logdateien) gibt es eine gemeinsame Plattenplatzquote, welche bei Bedarf erhöht werden kann. (home und die weiteren Verzeichnisse neben htdocs sind nur für Daten gedacht, die im Zusammenhang mit dem WWW-Angebot anfallen, nicht für persönliche oder sonstige Daten. Dafür nutzen Sie bitte die anderen Angebote des CIT.)

Dateisystem-Zugriffsrechte

Die Dateisystem-Zugriffsrechte regeln, wer welche Dateien über SSH / SCP / SFTP oder über ein Netzwerklaufwerk bearbeiten darf. (Davon völlig getrennte WWW-Zugriffsrechte regeln, wer über das WWW auf welche Angebote zugreifen darf.)

Die unveränderlichen Zugriffsrechte auf Ihr Datenverzeichnis NNN sorgen dafür, dass ausschließlich der WWW-Server und die Mitglieder Ihrer Infoanbietenden-Nutzer*innengruppe auf das Datenverzeichnis zugreifen können, und dient damit sozusagen als Firewall-Verzeichnis zur gegenseitigen Trennung der Informationsanbietenden.

Es ist also kein Problem und daher eine sinnvolle Vereinfachung, alle Dateien in Ihrem Webspace für jedermann les-, schreib- und ausführbar zu machen. Im Zweifel können Sie in unserem IT-Portal Ihren Webspace reparieren oder direkt über SSH den folgenden Befehl aufrufen; beides sorgt dafür, dass alle von Ihnen angelegten Dateien wieder mit optimalen Zugriffsrechten versehen werden:

/www/bin/repairwebspace NNN

Informationsanbietende, die die oben beschriebene OpenSSH-Software unter Windows einsetzen, können die ansonsten sehr sinnvollen Voreinstellungen dieser Software an diese Erfordernisse anpassen. Öffnen Sie über das Zahnradsymbol oder den Menüpunkt Edit | Settings das Einstellungsfenster:

  • Auf der Seite Global Settings | File Transfer | Advanced stellen Sie bitte die Default file permissions auf 775 und die Default directory permissions auf 2775 ein. Wenn Sie das Häkchen vor Preserve original destination permissions wegnehmen, werden auch beim Überschreiben einer schon vorhandenen Datei wieder die Standardzugriffsrechte eingestellt.

  • Auf der Seite Profile Settings | File Transfer | Remote Favorites tragen Sie bitte als Home folder das Unterverzeichnis htdocs Ihres Datenerzeichnis ein: /www/data/NNNNNN/htdocs/

Bestätigen Sie die Einträge mit OK und speichern Sie anschließend Ihre Einstellungen durch einen Klick auf das Diskettensymbol oder den Menüpunkt File | Save Settings), damit sie auf Dauer wirksam werden.