scp: „unerwarteter Dateiname: .“, aber ich sehe kein „.“

scp: „unerwarteter Dateiname: .“, aber ich sehe kein „.“

Ich möchte scpein .shSkript, /dev/shmaber es gibt mir

error: unexpected filename: .

Ich sehe .weder im Skript noch im Verzeichnis, wo ein „lone“ sein könnte.

Der vollständige Befehl lautete:

scp -r /opt/PEAS/linPEAS/linpeas.sh [email protected]: /dev/shm

(es stammt aus einem CTF-ähnlichen Hacking-Spiel für Anfänger). Ich habe versucht, es $(pwd)wie in anderen Threads vorgeschlagen hinzuzufügen, aber ohne Erfolg.

Antwort1

scplike cpunterstützt das Kopieren von mehreren Quellen in ein einziges Zielverzeichnis. In Ihrem Befehl

scp -r /opt/PEAS/linPEAS/linpeas.sh [email protected]: /dev/shm

/opt/PEAS/linPEAS/linpeas.shund [email protected]:sind Quellen, /dev/shmist ein (lokales) Ziel. Für lokales Kopieren scpwird auf zurückgegriffen cp. Ihr Befehl entspricht ungefähr:

cp -r /opt/PEAS/linPEAS/linpeas.sh /dev/shm
scp -r [email protected]: /dev/shm

und [email protected]:ist im letzteren äquivalent zu [email protected]:.und bedeutet „ .(das aktuelle Arbeitsverzeichnis) nach ssh-ing to [email protected]“.

Während völlig lokal cp -r . /dev/shm(oder sogar scp -r . /dev/shm) funktionieren kann, scpweigert sich, eine Remote-DownloadDateibenannt .. (Ich meine das Legacy scp, das SCP verwendet, nicht SFTP. Siehe "Vorbemerkung" indiese Antwort von mir. Es scheint, dass Sie scpSCP verwenden. Meine Tests zeigen, scpdass Sie mit SFTP .von einem Server herunterladen können.)


Vor diesem Hintergrund vermute ich, dass Sie möglicherweise nicht „local“ /dev/shmals Zielverzeichnis verwenden möchten. Vielleicht möchten Sie:

scp -r /opt/PEAS/linPEAS/linpeas.sh [email protected]:/dev/shm

wobei [email protected]:/dev/shmes sich um ein Remote-Ziel handelt, bedeutet es /dev/shmauf 10.10.87.42. Der obige Befehl lädt lokal hoch linpeas.shaufFernbedienung /dev/shm. Sie brauchen nicht wirklich -r, es sei denn, es linpeas.shhandelt sich um ein Verzeichnis.

Antwort2

/dev/shmist der Shared-Memory von Linux, der als Platte angesprochen werden kann. Es handelt sich nicht um einen SSH-Server.

Sie sollten Folgendes verwenden:

scp -r /opt/PEAS/linPEAS/linpeas.sh /dev/shm

Ich bin mir aber nicht sicher, ob das das ist, was Sie tun möchten. Die Größe ist begrenzt und die Daten würden nach einem Neustart verloren gehen.

Siehe zum Beispiel Was ist /dev/shm und seine praktische Verwendung.

verwandte Informationen