Upload per SSH

Mit dem hier vorgestellten VBA-Makro kann FrontPage 2002 auch über SFTP publizieren.

In FrontPage 2002 kann man bequem per Kontextmenü in der Ordnerliste Markierte Dateien veröffentlichen.... Das funktioniert über HTTP, wenn auf einen Server mit FrontPage-Servererweiterungen publiziert wird, sowie über FTP. Ein wesentlicher Nachteil von FTP ist, daß Benutzername und Kennwort unverschlüsselt übermittelt werden. Das neue SFTP vermeidet diese Schwachstelle, indem es auf einer SSH-Verbindung aufsetzt. FrontPage unterstützt SFTP nicht direkt, mittels VBA läßt sich diese Funktionalität jedoch integrieren, so daß SFTP in FrontPage ebenso komfortabel zu verwenden ist wie HTTP oder FTP.

PuTTY ist ein komfortabler und kostenloser SSH-Client für Windows. PuTTY enthält auch einen SFTP-Client namens PSFTP. Dieser läßt sich per Batchdatei steuern. Mein VBA-Makro erstellt diese Batchdatei aus den in der Ordnerliste markierten Dateien und Ordnern und startet PSFTP.

Installation

Konfiguration

Im Quelltext des Moduls finden Sie die Konstanten PSFTP_PATH und PSFTP_BATCH. PSFTP_PATH  muß den kompletten Pfad zur Datei psftp.exe enthalten. Das Makro erstellt die in PSFTP_BATCH angegebene Batchdatei, die dann von PSFTP abgearbeitet wird.

PSFTP_PATH und PSFTP_BATCH betreffen alle Webs. Zusätzlich gibt es mehrere Parameter, die jeweils für ein Web gelten. Das Makro fragt sie beim ersten Start automatisch ab, später können Sie sie unter Extras → Webeinstellungen... → Parameter einsehen und ggf. ändern:

Screenshot des Dialogfeldes Webeinstellungen in FrontPage.
psftp_sessionIn PuTTY können Sie Verbindungsparameter in sog. Sessions speichern. Den Namen einer solchen Session können Sie hier angeben; dies ist die empfohlene Methode. Die Einstellungen psftp_user, psftp_host und psftp_port sind dann wirkungslos, klicken Sie bei der entsprechenden Abfrage einfach auf „Abbrechen“.
psftp_userBenutzername Ihres SSH-Accounts.
psftp_hostName des SSH-Servers.
psftp_portPort, auf dem der SSH-Server läuft, meistens 22 oder 24.
psftp_rootDer Pfad zu Ihren Webseiten auf dem SSH-Server. Wenn Ihr Web bspw. in C:\Eigene Webs\Mein Web\ gespeichert ist und Sie für psftp_root /home/sites/site52/web angeben, wird C:\Eigene Webs\Mein Web\index.html als /home/sites/site52/web/index.html auf den Server kopiert.

psftp_file_permissions

Zugriffsrechte für kopierte Dateien, bspw. 644. Dieser Parameter muß meistens nicht angegeben werden.

psftp_dir_permissions

Zugriffsrechte für erstellte Verzeichnisse, bspw. 755. Dieser Parameter muß meistens nicht angegeben werden.

Die Prozedur PSFTP_Selected() können Sie mit einem Menüeintrag oder einem Button der Symbolleiste verknüpfen. Wählen Sie dann in der Ordnerliste einige Dateien und Ordner aus, und starten Sie das Makro. Das Kennwort fragt PSFTP selbst ab:

Kennwortabfrage von PSFTP