scp gibt unsinnige Nachrichten aus und schlägt fehl

420
Andy Carlson

SSH arbeitet vollständig mit diesem Befehl:

$ ssh user@$THE_IP_ADDRESS 

Aber wenn ich scp versuche, bekomme ich diese komplette Ausgabe

$ scp ~/file user@$THE_IP_ADDRESS:~/file \033[?25l\033[?7l\033[0m\033[31m\033[1m .-/+oossssoo+/-. 

Und der Befehl schlägt fehl. Was bedeutet diese Nachricht? Warum kann ich meine Datei nicht kopieren?

Der Kunde ist ein:

Darwin MacBook-Pro-4.local 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64 

Und der Server ist ein:

Linux cortex-deus 4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 
0
Diese sehen aus wie Escape-Codes, mit denen der Terminal-Emulator beispielsweise die Textfarbe festlegen soll. Was passiert, wenn Sie "-v" (bis "-vvv") zur "scp" -Befehlszeile hinzufügen? Veröffentlichen Sie die resultierende verbose / debug-Ausgabe, damit wir sehen können, was los ist. Spiff vor 6 Jahren 2

1 Antwort auf die Frage

2
Andy Carlson

Es stellt sich heraus, dass mein es .bashrcgebrochen hat. Meine .bashrcAnrufe neofetch beim Einloggen, um ein paar Ascii- Grafiken zu drucken. Das .-/+oossssoo+/-.ist Teil der Kunst des Ascii und das andere Zeug sind Fluchtcodes für Farben und ähnliches. Ich habe es behoben, indem ich beim Login nichts druckte.

BEARBEITEN: Wenn Sie jedoch darauf bestehen, beim Anmelden ausgefallene Dinge wie "ascii art" zu wiederholen, können Sie Ihre Befehle schützen, mit if [[ $- =~ "i" ]]denen überprüft wird, ob die Sitzung interaktiv ist.