sftp.md 3.31 KB
Newer Older
mahogony's avatar
mahogony committed
1
---
eris's avatar
eris committed
2
title: "Sicheres FTP (sftp)"
mahogony's avatar
mahogony committed
3
date: 2019-05-08T20:55:56+02:00
o@immerda.ch's avatar
o@immerda.ch committed
4
weight: 11
mahogony's avatar
mahogony committed
5
---
tr's avatar
tr committed
6
7
Damit du deine Daten von deinem Computer auf den Server transferieren kannst, musst du dich per [SFTP](https://de.wikipedia.org/wiki/SSH_File_Transfer_Protocol) auf unseren Server verbinden.
Wir akzeptieren keine unverschlüsselte FTP-Verbindung mehr.
mahogony's avatar
mahogony committed
8
9

## Clients
eris's avatar
eris committed
10
### Filezilla (Linux/OS X/Windows)
tr's avatar
tr committed
11
[Filezilla](https://filezilla-project.org/) ist ein Programm, mit dem du einfach Daten auf den Server hochladen kannst. Wenn du zum Beispiel ein Bild hochladen möchtest,
eris's avatar
eris committed
12
verbindest du dich per filezilla auf den Server
mahogony's avatar
mahogony committed
13

eris's avatar
eris committed
14
### Cyberduck (OS X)
mahogony's avatar
mahogony committed
15
16
[Cyberduck](https://cyberduck.io) ist ein Programm für Mac, mit dem du dich auf den Server verbinden kannst.

eris's avatar
eris committed
17
### CLI ([Kommandozeile](https://de.wikipedia.org/wiki/Kommandozeile) (Linux, OS X))
o@immerda.ch's avatar
o@immerda.ch committed
18
19
20
21
Bei den meisten Distributionen am einfachsten mit dem Dateimanager.

## SSH Authorized Keys

eris's avatar
eris committed
22
Um [SSH](https://de.wikipedia.org/wiki/Secure_Shell)-Keys für die [SFTP](https://de.wikipedia.org/wiki/SSH_File_Transfer_Protocol)-Authentifizierung zu hinterlegen:
o@immerda.ch's avatar
o@immerda.ch committed
23
24
25
26
27
28
29
30
31
32

1. Via [SFTP]({{< ref "sftp" >}}) erstellst du eine Datei namens `ssh_authorized_keys.keys` im Verzeichnis `scripts/ssh_authorized_keys` mit deinen öffentlichen SSH Schlüsseln.
1. Du erstellst eine Datei `scripts/ssh_authorized_keys/ssh_authorized_keys.run`. Dies aktiviert die neuen Schlüssel.
1. Der FTP login sollte nun ohne Passwort funktionieren.

Ein Beispiel:
```
# This will add the elipticcurve key to the authorized keys file of the sftp user.
ssh-ed25519 AAAAmyelipticcurvekey
ssh-ed25519 AAAAmySecondelipticcurvekey
mahogony's avatar
mahogony committed
33
34
```

mh's avatar
mh committed
35
Fehler werden in `logs/user-script-ssh_authorized_keys.log` protokolliert.
o@immerda.ch's avatar
o@immerda.ch committed
36

mahogony's avatar
mahogony committed
37
38
39
## SFTP bequemer nutzen

Oftmals erscheint die Nutzung von SFTP mühsam, gerade weil jeweils ein spezieller Client dafür verwendet wird. Dabei möchte man ja nur kurz eine Datei editieren oder lieber gleich ein ganzes Verzeichnis mit einem lokalen Verzeichnis synchronisieren.
eris's avatar
eris committed
40
Dies ist alles ohne Probleme möglich: Moderne Betriebssysteme (Linux, OS X, Windows) ermöglichen es, das Verzeichnis auf dem Server wie eine lokale Festplatte anzuzeigen und anzusprechen.
mahogony's avatar
mahogony committed
41
42

### Linux
tr's avatar
tr committed
43
Im Dateimanager von Gnome (was z.B. bei [Ubuntu](https://de.wikipedia.org/wiki/Ubuntu) der Standard ist) findet man den Menupunkt "Mit Server verbinden" ([siehe hier](https://help.gnome.org/users/gnome-help/stable/nautilus-connect.html.en)).
eris's avatar
eris committed
44
Dort kann man sich auch auf ein SSH-Server verbinden. Du musst nur deine Zugangsdaten fürs Webhosting eingeben und schon wird das Verzeichnis auf dem Server wie eine externe Festplatte eingebunden.
mahogony's avatar
mahogony committed
45
46
Mehr dazu findest du unter [Sysop:SSHFS](https://wiki.immerda.ch/index.php/Sysop:SSHFS#Packages).

eris's avatar
eris committed
47
Clients wie [lftp](https://de.wikipedia.org/wiki/Lftp) unterstützen auch das  Verschieben von Verzeichnissen. lftp ermöglicht auch das Spiegeln von Verzeichnissen - damit werden nur die Änderungen übertragen (inkrementell) und nicht das ganze Verzeichnis. Dies kann auch bequem in Skripts verwendet werden:
mahogony's avatar
mahogony committed
48
49
50
51
52

```bash
lftp -e "mirror -eRv source www; quit;" -u username sftp://ftp.foo.immer-da.ch
```
### Windows
eris's avatar
eris committed
53
Beschreibe, wie das einfach unter Windows zu bewerkstelligen ist! [Mitmachen!](/de/contribute/)
mahogony's avatar
mahogony committed
54

eris's avatar
eris committed
55
### OS X
tr's avatar
tr committed
56
Auf OS X kann [lftp](https://formulae.brew.sh/formula/lftp) per [Homebrew](https://brew.sh/) installiert werden. Danach einfach dem Tutorial von Linux folgen.