Raspberry Pi - Remote Zugriff

Zuletzt aktualisiert am 17. Januar 2024 4 Minuten

Hier beschäftige ich mit mit der Anbindung des Raspberry-Pi an die Umgebung:

  1. Remote-Desktop (wikipediaexternal link )
  2. SSH - Secure Shell (wikipediaexternal link )
  3. Freigabe von Verzeichnissen mittels Samba (wikipediaexternal link )

Remote Desktop

Für den Start sollte der Pi mit Tastatur, Maus und Monitor verbunden sein. Das erleichtert einiges. Support für VNC wird mit dem Raspberry Pi mitgeliefert, und muss nur aktiviert werden.

  • Auf dem Raspberry Pi
    • Applicationsmenü > Einstellungen > Raspberry-Pi-Konfiguration
    • Reiter: Schnittstellen
    • [x] SSH
    • [x] VNC
    • In der Taskbar sollte der VS Symbol auftauchen.
    • Die IP-Adresse ermitteln, und für später notieren.
      • Terminal öffnen (obere Taskbar, oder Applicationsmenü > Zubehör > LXTerminal)
      • hostname -I
      • 192.168.178.67 …
    • Optional: IP address static setzen. Nano öffnen:
      • sudo nano /boot/cmdline.txt
      • ip=192.168.178.67 in die letzte Zeile eintragen.
      • speichern.
  • Auf dem Client
  • Einstellungen fritz.boxexternal link
    • Heimnetzwerk > Netzwerk
    • Erste Spalte suchen: raspberrypi
    • Name umbenennen in: raspberry-pi4 - oder was immer ich mag.
    • IP-Adresse: 192.168.178.67 - kann hier auch geändert werden.
    • [x] Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen
  • Verbindung herstellen
    • VNC Viewer starten
    • IP-Adresse oder Name eingeben und return drücken
    • Authentifizierung bei VNC-Server: Benutzername: pi, Passwort: raspberry (Das ist der Standard, den sollte man natürlich individuell anpassen)

VNC Troubleshooting

VNC Viewer - schwarzer Bildschirm mit der Meldung ‘Der Desktop kann derzeit nicht angezeigt werden’

Ich betreibe den Raspberry-Pi ohne angeschlossenen Monitor.

sudo nano /boot/config.txt

Das # vor der Zeile entfernen:

hdmi_force_hotplug=1

Änderung speichern mit CTRL + X

SSH

Im Terminal eine der Varianten eingeben um die SSH-Verbindung zum Raspberry Pi zu öffnen:

  • Standard Port: 22
  • Standard Benutzername: pi
  • Standard Passwort: raspberry
  • Aus Sicherheitsgründen bitte das Passwort, und am besten auch den Benutzernamen ändern.
ssh benutzername@ipadresse -p 22
ssh ipadresse -l benutzername -p 22

Bei erfolgreicher Verbindung kann man von der Ferne aus Terminal-Befehle auf dem Pi ausführen. Zum Beispiel:

# Shutdown nach einer Minute
sudo shutdown

# Cancel Shutdown
sudo shutdown -c

# sofortiger Shutdown
sudo shutdown -h 0
sudo shutdown -h now

# Alias
sudo poweroff

# reboot
sudo shutdown -r 0
sudo shutdown -r now

# Alias
sudo reboot

Samba

Die Medien des Medienservers liegen auf einer USB Festplatte am Jellyfin Raspberry-Pi. Ich will von anderen Rechnern aus, auf diese Platte zugreifen können, um sie zu aktualisieren.

Um so einen Netzwerk Share ein zu richten, muss zuerst Samba auf dem Jellyfin Raspberry-Pi installiert werden. Das geht wie immer im Terminal:

sudo apt-get updates

sudo apt-get install samba samba-common-bin
# oder:
sudo apt-get install samba samba-common smbclient

# prüfen ob Samba läuft:
sudo service smbd status
sudo service nmbd status

Für eine Grundkonfiguration zuerst ein Backup der Original-Datei machen:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf_alt

Die smb.conf Datei im Editor öffnen…

sudo nano /etc/samba/smb.conf

Folgenden Inhalt rein kopieren und mit Strg + O, Return, Strg + X speichern, und schließen.

[global]
workgroup = WORKGROUP
security = user
encrypt passwords = yes
client min protocol = SMB2
client max protocol = SMB3

Konfigurationsdatei auf Fehler testen:

testparm

Service neu starten:

sudo service smbd restart
sudo service nmbd restart

Share einrichten

Die Samba Konfigurationsdatei im Editor öffnen:

sudo nano /etc/samba/smb.conf

Folgendes am Ende der Datei ergänzen:

[Share]
comment = Externe Platte am RPi
path = /mnt/
# user = Test
availible = yes
valid users = sambauser
guest ok = yes
browseable = yes
public=yes
writable = yes
create mask = 0777
directory mask = 0777

Speichern mit Strg + O, Return, Strg + X.

Testen und Samba-Server neu starten, wie oben…

testparm
sudo service smbd restart
sudo service nmbd restart

Ein Linux-Konto und ein Samba-Konto anlegen

Ich lege einen User mit dem Namen sambauser an. Das Passwort bitte merken.

# Linux Konto anlegen
useradd -s /bin/false -g users -m sambauser
# andere variante
sudo useradd -c "Samba User" sambauser

# Samba-Benutzerkonto anlegen / Samba-Passwort ändern.
# 2x das Passwort eingeben
sudo smbpasswd -a sambauser

# Benutzer in der Samba-Datenbank aktivieren
sudo smbpasswd -e sambauser

# Konfiguration testen
testparm

# Samba Server neu starten
sudo service smbd restart
sudo service nmbd restart

# Hier ist man fertig.
# Weitere Befehle:

# Benutzer "sambauser" für Samba deaktivieren:
sudo smbpasswd -d sambauser

# Benutzer aus der Samba-Datenbank entfernen:
smbpasswd -x sambauser

Im OS-X Finder “Mit Server verbinden”, dann den Usernamen und das Passwort eingeben, und die Verbindung sollte hergestellt sein:

smb://raspberry-pi400/Share

raspberry-pi400 ist der Name der Maschine im Netz, oder steht stellvertretend für die IP-Adresse.

Tools

  • piHelper für iOSexternal link - Nützlich um den Status der Raspberry-Pi´s im Heimnetzwerk abzufragen, und Kleinigkeiten im Terminal zu erledigen:  Eine SSH-Konsole und ein sftp-Client sind integriert. Kein Abo, und den optionalen Euro mehr als Wert.
  • VNC-Viewerexternal link - Die einfachste Lösung zum Remote Desktop für einen Raspberry Pi.