Kategorie: Raspberry Pi

pi3 – Installations Guide: Teil 3 – RPi update und raspi-config

Voraussetzung

In den letzen beiden Tagen ging es mit dem Beitrag  pi3 – Installations Guide: Teil 1 und pi3 -Installations Guid: Teil 2 darum den kleinen RPi arbeitsfähig zu machen. Der Teil 2 kann übersprungen werden, wenn RPi nicht als Server im Internet hängt aber …

Selbst zum updaten muss er ans Netz, somit sollte minimal wenigstens das pi-Passwort geändert werden.

sudo passwd pi

erst raspi-config

raspi-config ist das Konfigurationprogramm von Raspian, hier kann man viele Sachen einstellen, einige finde ich wichtig, diese spreche ich an.

sudo raspi-config

Da ich mehrere Raspberry Pi im Einsatz habe ist es wichtig, dass jeder einen eigenen Namen hat, ich habe mich für (*) die Kartoffelsorten im Garten entschieden. [Annabelle, Sieglinde, …]
(*) Name geändert 🙂
Unter 2 network – change hostname -> wird Annabelle eingetragen.

Weiter Einstellungen

expand filesystem (besser, dasdd sowieso die komplette SD kopiert)

Internation Options

  • Chance Local (alle 3)
    • de_DE ISO-8859-1
    • de_DE.UTF-8 UTF-8
    • de_DE@euro ISO-8859-15
  • Chance Timezone -> Europe Berlin
  • Chance Wi-Fi Country -> DE
  • Chance Keyboard Layout generic 105-key (intl) PC
    • german
    • German – German (eliminate dead keys).
    • ALT-GR default

Land Germany, Time GMT+1, Tastatur DE UFT8,

  • Advanced Options
    • memory split 32 der der RPi als Serversystem arbeiten soll.

dann updaten

Jetzt gehe ich weiter mit dem Ubuntu Klassiker

sudo rpi-update # Updaten der RPi

sudo apt update

sudo apt dist-upgrade

Jetzt ist das System auf einem aktuellen Stand.

Das System wird nun rebootet, dann logge ich mich ein und überprüfe ob alles passt. Wenn ich zufrieden bin, fahre ich den Rechner herunter, baue die SD-Karte aus und mache ein Backup davon (eine gute Anleitung findet man bei Linuxundich.de )

sudo dd if=/dev/sdd of=~/annabelle-pi.img

pi3 – Installations Guide: Teil 2 – absichern

Voraussetzung

Im gestrigen Beitrag  pi3 – Installations Guide: Teil 1 wurde der RPi vorbereitet bis zum ersten ssh-Login, jetzt geht es weiter.

Man sollte denken, dass nun als erstes das System aktualisiert wird, aber dem ist nicht so. Der Standard-Benutzer Pi mit dem Passwort raspberry ist zu bekannt, und das ssh-Login haben wir erlaubt. Darum muss das als erstes geändert werden. Nachdem ich viele Seiten zum Absichern des Servers gelesen habe komme ich zu diesem Vorgehen.

  • neuer USER1 anlegen, dieser bekommt sudo Rechte
  • noch einen USER2 anlegen, (nur) dem wird der ssh-Login ermöglicht.
  • der user Pi wird gelöscht.

Neuer USER1 anlegen

Auf Linux-Systemen gibt es adduser und useradd als Programm/Befehl um einen User anzulegen. Dabei ist useradd ein sehr einfacher Befehl, der seinen Job macht aber nicht komfortable. Komfortabler ist adduser. Dennoch haben beide ihre Berechtigung.

Mit sudo useradd USER1 -G sudo legt man einen Benutzer USER1 an, der der Gruppe sudo zugeordnet ist, das ist wichtig, da wenn Pi gelöscht ist sonst niemand mehr root-Rechte haben könnte. Unser USER1 hat noch kein Passwort, das wird nun festgelegt.

sudo passwd USER1 fordert uns auf für den USER1 ein Passwort zu setzen.

USER2 anlegen

Diesen User legen wir mir adduser an. sudo adduser USER2 und sehen auch gleich, was sich unterscheidet. Der Befehl adduser verlangt Infos zum Benutzer und ein Passwort.

ssh-Login absichern

Damit ein ssh-Zugang klappt, muss auf dem Server, hier der RPi ein ssh-Dienst laufen, den kann man konfigurieren. Unter Linux-Systemen findet man die Konfigurationsdateien im Verzeichnis /etc und nur root kann sie bearbeiten. Zum Bearbeiten benutzen wir den Editor nano.

Ein sudo nano /etc/ssh/sshd_config öffnet die Konfig-Datei in der folgende Anpassungen gemacht werden sollten.

  • #PermitRootLogin prohibit-password – daraus machen wir ein PermitRootLogin no # root darf sich nicht einloggen
  • LoginGraceTime 2m wird zu
    LoginGraceTime 30 # das Login muss innerhalb von 30 Sekunden
  • AllowUsers USER2 # Vorsicht! jetzt kann sich nur noch USER2 anmelden.

Jetzt muss das System neu gestartet werden

sudo shutdown now -r.

Ein Login ist nur noch mit USER2 möglich also ssh USER2@IP und das Passwort.

Ich habe meinen kleinen auch mal am Internet und bin deshalb noch vorsichtiger. USER2 ist der einzige der von außen auf das System darf/kann! Mein USER2 bekommt nun noch in .bashrc den Eintrag kein große History anzulegen

nano .bashrc, hier kommt der Eintrag HISTSIZE=0 hinzu,

Außerdem soll beim logout die history gelöscht werde, damit keine Zeugnisse auf dem System beleiben.

nano .bash_logout
Diese Datei bekommt die Inhalte:

history -c
rm ~/.bash_history

User Pi löschen

Noch gibt es den Bentzer Pi, der wird nun gelöscht, dazu müssen wir ein sudo-Berechtigter USER werden.

su USER1 und jetzt Pi entferen

sudo systemctl stop autologin@tty1

sudo deluser -remove-home pi

Und in der Konfig-Datei des graphischen Login
sudo nano /etc/lightdm/lightdm.conf

wird aus autologin-user=pi ein #autologin-user=pi.

Das Kommentarzeichen # sorgt dafür, dass diese Zeile nicht bearbeitet wird.

pi3 – Installations Guide: Teil 1 vom Download zum ersten ssh-Login

Voraussetzungen

  • Ein Raspberry Pi 3 – ungetestet ist bisher (Stand 27.08.2019) ein RPi 4
  • Eine SD-Karte, ich benutzt meinst kleine SD-Karten, da ich von der Karte auch Backups machen und das Linux-Programm dd (disk dump) zum bit-genauen Kopieren von Festplatten und Partitionen dient, damit ist (sofern man keine Komprimierung benutzt) das Backup genau so groß wie die komplette SD-Karte!
  • Downloaden des Images. Ich benutzte meist das Raspbian, das offizielle „Operation System“ (OS) für alle Raspberry Pi Modelle. Hier kann man sich entscheiden für welchen zweck der „Kleine“ betrieben werden soll. Als Desktopersatz (mit und ohne default Programme) oder minimal als Server.

Vorarbeiten – Image auf SD-Karte schreiben

Das gezippte Image muss nun ausgepackt werden und auf eine SD-Karte drauf.

Für Linux geht das flux mit dd, aber VORSICHT!, wie viele Linux-Programme verzeiht es keine Fehler und fragt auch nicht nach, wie man es von Windows gewohnt ist, darum checke immer (!) erst ob die SD-Karte erkannt wurde und wie sie heißt.

df -h
zeigt das Datei-System. Hier findet man unter /dev/sda oder /dev/sdb oder /dev/sdc … die erkannten Laufwerke / Festplatten / Partitionen.
Ist man sich unsicher, SD-Karte raus, df -h und SD-KLarte rein df -h, das was neu dazugekommen ist die SD-Karte. In meinem System liegt die Karte unter /dev/sdd!

Image auf die SD-Karte schreiben mit dd. Schön ist, dass dd seit kurzem (Coreutils 8.24 – checke das mit dd --version) eine Fortschrittsanzeige hat. Der Schalter status=progress schaltet das ein.

sudo dd bs=4M if=2019-07-10-raspbian-buster-full.img of=/dev/sdd bs=1M status=progress

Diese Zeile schreibt nun die Daten auf die SD-Karte, bit für bit, das kann dauern, aber immerhin gibt es jetzt eine Fortschrittsanzeige, die mir anzeigt, dass dd was macht.

Für Windows schaue bitte hier nach.

Vorbereiten – ssh erlauben

Standardmäßig ist der Raspberry Pi so abgesichert, dass er keinen ssh, d. h. keinen Zugang von außen erlaubt. Um das zu erlauben muss es im Verzeichnis /boot der SD-Karte eine inhaltslose Datei namens ssh geben. Also SD-Karte mounten, ins Verzeichnis /boot wechseln und

touch ssh

legt einen leere Datei mit dem Namen ssh an.

Fertig – fast!

umount /dev/sdd damit man die Karte aus dem Computer abziehen kann. Jetzt wird die SD-Karte in den Raspberry Pi eingebaut. Danach wird der RPi an das LAN und an den Strom angeschlossen und müsste zum ersten mal booten.

Jetzt aber!

Ist der Raspberry Pi sauber hochgefahren, erkennen kann man das an der grünen LED, kann man den ersten Login machen. Schnell in Router schauten welcher neue Client dazu kam, sich diese IP-Adresse merken und

ssh pi@192.168.1.98 (als Beispiel, schau im DHCP nach)
passwort: raspberry

Die Shell baut nun eine ssh-Verbindung zum RPi auf, man wird nach einem Passwort gefragt. Der Benutzername pi wurde schon mit dem ssh Aufruf übergeben. Den Hash bestätigen und Voilá wir sind drin.