Nutzen des sFTP Dienstes mit Ihrer 2k+ (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 2k+ (WQHD)-Kameraserie trotzdem hochladen?
A: Unsere Full HD-Kameras unterstützen nur FTP
und die TLS-verschlüsselte Version FTPS
. Mit unseren neuen 2k+ (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:
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
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:
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:
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