Langer Titel, kurzer Tip.
Ausgangslage: Ich habe eine unpriviligierten LXC Container (mit Ubuntu 20.04) unter Proxmox. In diesem läuft ein ISPConfig. Hier kann man den angelegten „Webkunden“ eine SSH-Shell ermöglichen. Zur Auswahl steht dabei unter unterem die Nutzung eines Jail (Jailkit), sofern man das mit installiert hat.
Wenn man das aktiviert, klappt zwar der SSH Zugriff aber SCP funktioniert nicht. Ursache ist, das in einem unpriv. Container mknod nicht genutzt werden kann. Beim Anlegen des Jail kommt dann in etwa eine solche Fehlermeldung.
root@mytestserver:/var/www/testen.de/dev# jk_init -j /var/www/clients/client1/web1 basicshell editors extendedshell netutils ssh sftp scp groups jk_lsh
mknod: /var/www/clients/client1/web1/dev/urandom: Operation not permitted
Failed to create device /var/www/clients/client1/web1/dev/urandom, this is a know problem with python 2.1
use "ls -l /dev/urandom" to find out the mode, major and minor for the device
use "mknod /var/www/clients/client1/web1/dev/urandom mode major minor" to create the device
use chmod and chown to set the permissions as found by ls -l
Der selbe Fehler für /dev/tty und /dev/null.
Und genau über das fehlende /dev/null stolpert in diesem Fall der SCP. Der Workaround; einfach dies manuell in das User-Jail zu kopieren
cp /dev/null /var/www/clients/client1/web1/dev
Danach klappt es dann auch mit SCP.