scp gibt eine unsinnige Meldung aus und schlägt fehl

scp gibt eine unsinnige Meldung aus und schlägt fehl

SSH funktioniert vollständig mit diesem Befehl:

$ ssh user@$THE_IP_ADDRESS

Aber wenn ich scp versuche, bekomme ich diese völlig unsinnige 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 Meldung? 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

Antwort1

Es stellte sich heraus, dass ich .bashrces kaputt gemacht habe. Meine .bashrcAnrufeneofetchbeim Anmelden, um etwas gestaltete ASCII-Grafik zu drucken. Das .-/+oossssoo+/-.ist Teil der ASCII-Grafik und der andere Kram sind Escape-Codes für Farben und so. Ich habe es behoben, indem ich beim Anmelden nichts gedruckt habe.

BEARBEITEN: Wenn Sie jedoch darauf bestehen, beim Anmelden ausgefallene Dinge wie ASCII-Art wiederzugeben, können Sie Ihre Befehle schützen, indem if [[ $- =~ "i" ]]Sie prüfen, ob die Sitzung interaktiv ist.

Antwort2

Ich habe das gleiche Problem. Das Problem wird durch den Neofetch-Aufruf beim Start der Terminalsitzung verursacht. In meiner .bashrc wurde Folgendes behoben:

if [[ $- != *i* ]]; then
    return;
else
    if [ -x /usr/bin/neofetch ]; then
        neofetch
    fi
fi

verwandte Informationen