Nutzen des sFTP Dienstes mit Ihrer WQHD Kamera

Q: Mein Webspace-Provider Strato hat vor kurzem den FTP-Dienst deaktiviert, den ich für meine Alarmaufzeichnung verwendet habe. Kann ich meine Videos mit der INSTAR WQHD-Kameraserie trotzdem hochladen?

A: Unsere Full HD-Kameras unterstützen nur FTP und die TLS-verschlüsselte Version FTPS. Mit unseren neuen WQHD 2k+ Kameras unterstützen wir nun auch FTP-Verbindungen über SSH-Tunnel - auch bekannt als sFTP. Für Ihr Strato-Konto müssen Sie lediglich sFTP im Dropdown-Menü Verschlüsselung aktivieren und Ihre Strato-Kontoinformationen hinzufügen.

Hinzufügen eines Users

Wenn Sie den sFTP-Dienst auf einem generischen Linux-Server verwenden möchten, müssen Sie zunächst einen Benutzer für Ihre Kamera anlegen, z.B. ipcamera:

sudo useradd -m ipcamera

Die Flag -m in diesem Befehl erstellt ein Home-Verzeichnis für Ihren Benutzer in /home/ipcamera, das wir für unsere Kamera-Uploads verwenden können.

Es ist auch möglich, ein bestimmtes Verzeichnis als Heimatverzeichnis für diesen Benutzer zu definieren, z.B. /opt/INSTAR:

sudo useradd -m -d /opt/INSTAR ipcamera

Damit sich Ihre Kamera mit diesem Benutzer beim Server anmelden kann, müssen Sie das Benutzerkennwort festlegen. Verwenden Sie den folgenden Befehl und geben Sie ein Kennwort für den Benutzer ipcamera ein und wiederholen Sie es:

sudo passwd ipcamera

Erstellen der SSH Schlüssel

Auf Ihrem Linux Server

Falls Sie bereits SSH Schlüssel auf Ihrem Server generiert haben, können Sie diese für den sFTP Upload benutzen. Anderenfalls führen Sie bitte den SSH Schlüssel Generator aus:

ssh-keygen -t ed25519 -C 'sFTP_server'

Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/ipcamera/.ssh/id_ed25519):  #leave empty
Created directory '/home/ipcamera/.ssh'.
Enter passphrase (empty for no passphrase):  #leave empty
Enter same passphrase again:  #leave empty
Your identification has been saved in /home/ipcamera/.ssh/id_ed25519
Your public key has been saved in /home/ipcamera/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:ZevHZSnTAogNMrtSBCIF6fXJAXZXpALT0xYirUjGGyA sFTP_server

Auf Ihrer Kamera

Im FTP-Menü sehen Sie, sobald Sie die Verschlüsselung auf sFTP setzen, wird Ihnen eine Schaltfläche eingeblendet, die den öffentlichen SSH-Schlüssel Ihrer Kamera anzeigt. Wenn Sie zum ersten Mal darauf klicken, wird Ihre Kamera diese Schlüssel für Sie generieren, was eine Weile dauern kann:

Using the sFTP Service with your WQHD Camera

Zurück auf Ihrem Linux-Server können Sie nun das Verzeichnis überprüfen, in dem der vorherige Befehl die SSH-Schlüssel erzeugt hat:

ls -la /home/ipcamera/.ssh

total 24
-rw------- 1 ipcamera ipcamera  399 Jun 17 19:33 id_ed25519
-rw-r--r-- 1 ipcamera ipcamera   93 Jun 17 19:33 id_ed25519.pub
-rw-r--r-- 1 ipcamera ipcamera  738 Jun 17 19:47 known_hosts

Hier können wir den öffentlichen Schlüssel der Kamera, wie er in der WebUI angezeigt wird, an die Datei known_hosts anhängen (erstellen Sie sie einfach, wenn Ihr Server keine hat):

nano /home/ipcamera/.ssh/known_hosts

Using the sFTP Service with your WQHD Camera

Um sicherzustellen, dass unser Server diesen Schlüssel verwendet, wenn eine Verbindung zu unserer Kamera hergestellt wird, können wir SSH durch Hinzufügen der folgenden Zeilen konfigurieren:

nano /etc/ssh/sshd_config 
HostKey /home/ipcamera/.ssh/id_ed25519

Speichern Sie Ihre Änderungen und starten Sie den SSH-Agenten neu:

service sshd restart

Kamera Konfiguration

Für meinen lokalen Linux-Server auf IP 192.168.2.111 - z.B. ein RaspberryPi - kann ich folgende Konfiguration verwenden:

Nutzen des sFTP Dienstes mit Ihrer WQHD Kamera

Das Login ist das Benutzer-Login, das wir oben erstellt haben. Und Port 22 ist der Standard SSH Port unter Linux - Sie können überprüfen, ob Ihr System den Standard verwendet, indem Sie den folgenden Befehl ausführen:

netstat -tlnp | grep sshd                                                                               
tcp        0      0 0.0.0.0:22 LISTEN      621/sshd: /usr/sbin 
tcp6       0      0 :::22      LISTEN      621/sshd: /usr/sbin

Der Speicherpfad ./recordings weist Ihre Kamera an, das Verzeichnis /home/ipcamera/recordings für sFTP Uploads zu verwenden. Durch Aktivieren der Option Host Verifizierung müssen wir nun den öffentlichen Schlüssel von unserem Server verifizieren. Klicken Sie auf OK, wenn der Schlüssel übereinstimmt. Ihre Kamera autorisiert dann den Serverschlüssel und versucht, die Testdatei hochzuladen:

Nutzen des sFTP Dienstes mit Ihrer WQHD Kamera

cat /home/ipcamera/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICVmROPDTwmGE6Qfo2+PtvY/FTH9/izLg1TW/T8rLezX sFTP_server

Wir können überprüfen, ob der Upload erfolgreich war, indem wir das Verzeichnis der Aufnahmen überprüfen. Es sollte die Testdatei "Test-Snapshot.jpeg" enthalten:

ls -la /home/ipcamera/recordings                                                                        
total 132
drwxr-xr-x 2 ipcamera ipcamera   4096 Jun 17 16:34 .
drwxr-xr-x 6 ipcamera ipcamera   4096 Jun 17 16:34 ..
-rw-r--r-- 1 ipcamera ipcamera 124886 Jun 17 16:46 Test-Snapshot.jpeg