Problem: ssh working on all devices but scp from some devices gives „Connection closed“ error
(Temporary) solution: Use parameter -O
Just another Techblog
Problem: ssh working on all devices but scp from some devices gives „Connection closed“ error
(Temporary) solution: Use parameter -O
Wer z.B. einen Raspberry Pi Zero W headless einrichten möchte muss ins root-Verzeichnis der boot-Partition zwei Dateien legen. Einmal eine leere Datei „.ssh“ und eine „wpa_supplicant.conf“, die nur Linefeeds enthalten darf (ein CRLR). Also Linux-Zeilenumbrüche, nicht Windows.
Die Datei sieht so aus:
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WLAN SSID"
scan_ssid=1
psk="WLAN PASSWORT"
key_mgmt=WPA-PSK
}
Im Notepad++ stellt man die Zeilenumbrüche unten rechts um:

Quelle: https://www.dahlen.org/2017/10/raspberry-pi-zero-w-headless-setup/
Wer nun extrem „effizient“ sein möchte könnte auf die Idee kommen, direkt das Image zu verändern, das auf die SD-Karte geschrieben wird. Wer wie ich zu faul ist, die Anfänge der Partitionstabelle auszurechnen lässt einfach kpartx laufen, das loop-Devices erstellt, die auf die Partitionstabellen zeigen:
root@host:~# kpartx -av 2020-02-13-raspbian-buster-lite.img
Danach kann man die boot-Partition mounten:
root@host:~# mkdir loop0p1
root@host:~# mount /dev/mapper/loop0p1 loop0p1/
Wer das auf einem Raspberry Pi macht, der schon WLAN hat macht einfach so weiter:
root@host:~# cd loop0p1/
root@host:~# touch ssh
root@host:~# cp /etc/wpa_supplicant/wpa_supplicant.conf .
Alles wieder unmounten:
root@host:~# umount loop0p1
root@host:~# kpartx -d 2020-02-13-raspbian-buster-lite.img
loop deleted : /dev/loop0
Hier bin ich auf kpartx gestoßen: https://www.raspberrypi.org/forums/viewtopic.php?t=28860#p254654
So könnte man auch direkt den Hostname ändern oder einen public-key hinterlegen, schon mal local einstellen, etc.. Also eigentlich alles, was man sonst auch immer direkt nach dem Flashen machen muss.
find . -type f | grep -E "^(.+)/[^/]{127,}$"
Diese Befehlszeile findet Dateinamen mit 127 oder mehr Zeichen.
Wofür braucht man so etwas? Synology unterstützt bei verschlüsselten Volumes nur Dateinamen bis zu einer Länge von 127 Zeichen. Um „problematische“ Files zu identifizieren, welche bspw. ein Backup oder einen Sync auf ein verschlüsseltes Volumen verhindern, sollte man vorher die Länge aller Dateinamen checken.
| Shortcut | Beschreibung |
|---|---|
| Ctrl + a | zum Zeilenanfang springen |
| Ctrl + e | zum Zeilenende springen |
| Alt + b | ein Wort nach links springen |
| Alt + f | ein Wort nach rechts springen |
| Ctrl + w | Wort links vom Cursor löschen |
| Alt + d | Wort rechts vom Cursor löschen |
| Ctrl + u | vom Cursor bis zum Zeilenanfang löschen |
| Ctrl + k | vom Cursor bis zum Zeilenende löschen |
| Alt + . | letztes Argument einfügen |
| … | … |