SSH Login ohne Passwort auf dem Raspberry

eingetragen in: Allgemein, Synology 4

Ich möchte mich als User backup von der NAS auf meinem Raspberry mit root per ssh anmelden ohne ein Passwort einzugeben (das ist aus Sicherheitsgründen mit dem User root natürlich eine schlechte Idee) um z.B. Dateien jeden Tag von dem Raspberry auf die NAS zu kopieren.

Root Login per SSH erlauben

Melde Dich auf dem Raspberry mit dem User pi an (Default Passwort lautet raspberry). Als erstes änderst Du das Passwort vom User root.

pi@raspbery:~ $ sudo passwd root
New password: 
Retype new password: 

Anschließend musst Du die Datei Datei /etc/ssh/sshd_config editieren. Suche in der Datei nach dem Eintrag PermitRootLogin. Ersetze den Parameter mit yes. Sollte der Eintrag fehlen, dann füge diesen hinzu.

pi@raspbery:~ $ sudo vi /etc/ssh/sshd_config 

Ausschnitt aus der sshd_config.

# Authentication:
PermitRootLogin yes 

Jetzt noch sshd mit sudo service sshd reload neu starten. Jetzt solltest Du dich mit ssh@raspberry an Deinem Raspberry anmelden können.

SSH Login ohne Passwort

Da ich mich von meiner NAS mit dem User backup auf dem Raspberry mit User root ohne Passwort anmelden möchte, muss ein Zertifikat austauschen.

Prüfe als User backup auf der NAS ob es eine Datei ~/.ssh/id_rsa_pub gibt. Ist das nicht der Fall. Dann führe folgenden Befehl aus.

backup@nas:~ $ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa): 
Created directory '~/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in ~/.ssh/id_rsa.
Your public key has been saved in ~/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:ez0m+hyjHk0at/kWbfYkgtFTJkj9hTQ90oPyFnm98tw 
backup@nas
The key's randomart image is:
+---[RSA 4096]----+
|         ..o .*o.|
|          ..o=+*+|
|           .o=+.+|
|          . o+.. |
|        S oo.o+ .|
|         B.+o =oE|
|        + O += + |
|         * *..  .|
|       .+.o..    |
+----[SHA256]-----+

Jetzt hast Du einen Private und Public Key im ~/.ssh/ Verzeichnis auf der NAS für den Benutzer backup erstellt. Als nächstes muss der Inhalt der id_rsa.pub auf den Rasperry in die Datei ~/.ssh/authorized_keys‘ kopiert werden.

backup@nas:~ $ ssh root@pi 'mkdir -p ~/.ssh'
backup@nas:~ $ cat ~/.ssh/id_rsa.pub | ssh root@pi 'cat >> ~/.ssh/authorized_keys'

Ab sofort kannst Du Dich nun von der NAS als Benutzer backup auf dem Raspberry als User root ohne Passwort anmelden.

backup@nas:~ $ ssh root@backup
pi@raspbery:~ $ 

Unifi Controller auf dem Raspberry

eingetragen in: Allgemein, Unifi 1

Installiere das Raspberry Lite Image. Dafür musst Du dieses downloaden und auf eine SD Karte schreiben. Auf dem Mac kannst Du dieses z.B. dem Tool ApplePi-Baker erledigen. Hast Du das Image erstellst und Du hast wie ich keinen Monitor und keine Tastatur für den Raspberry, erstelle auf der SD Karte im Verzeichnis boot eine leere Datei mit Namen ssh . Jetzt hast Du die Möglichkeit dich später per SSH auf den Raspberry anzumelden. 

Starte den Raspberry und melde Dich über den Mac mit ssh pi@<raspberry-ip> auf dem Raspberry an. Username ist pi und das default Passwort ist raspberry.

Du kannst anschließend die Einstellungen wie z.B. das Passwort im Anschluss mit dem Befehl sudo raspi-config ändern. Rufe dafür die Konfiguration auf dem Raspberry auf.

Nun musst Du den Downloadlink UniFi Network Controller X.YY.ZZ for Debian/Ubuntu Linux and UniFi Cloud Key kopieren. Den Link findest Du auf der Seite https://www.ui.com/download/unifi/

Normalerweise ist die JDK oracle-java8-jdk zu installieren. Die Version steht aber nicht mehr zur Verfügung. Ich konnte ohne Probleme auf dem Raspberry die JDK Version 9 oder 11 installieren. Damit ließ sich der Unifi Controller nur nicht starten. Abhilfe schuf die Installation der openjdk-8-jre (JRE) statt oracle-java8-jdk (JDK). Damit läuft der Unifi Controller auf dem Raspberry.

Beim ausführen von dpkg -i unifi_sysvinit_all.deb kommt es vielleicht zu Fehlern, da Pakete wie Mongo DB nicht installiert sind. Der Befehl apt-get -f install installiert anschließend die fehlenden Pakete.

~ $ sudo apt update
~ $ sudo apt install openjdk-8-jre
~ $ cd /usr/local/src
~ $ sudo wget https://dl.ui.com/unifi/5.12.22/unifi_sysvinit_all.deb
~ $ dpkg -i unifi_sysvinit_all.deb
~ $ sudo apt-get -f install

Nun sollte der Unifi Controller nach der Installation starten. Sollte das nicht der Fall sein, kann der Controller auch manuell mit sudo systemctl start unifi gestartet werden. Jetzt den Link