Ich versuche, scp
eine Datei von einem Server auf meinen lokalen Computer zu übertragen, aber es wird folgende Fehlermeldung angezeigt:
protocol error: unexpected <newline>
Das ist meine Syntax:
scp user@server:/path/to/file .
Auf diesem Server hat es nicht funktioniert, aber dann habe ich denselben Befehl auf meinem anderen Server versucht, sodass ich nur davon ausgehen kann, dass etwas mit meinem Server nicht stimmt und nicht mit der Syntax des scp
Befehls.
Irgendwelche Ideen?
~/.bashrc
auf dem Server.Antworten:
Eines Ihrer Anmeldeskripte (.bashrc / .cshrc / etc.) Gibt Daten an das Terminal aus, wenn dies nicht der Fall sein sollte. Dies führt dazu, dass scp beim Herstellen einer Verbindung und beim Kopieren einen Fehler verursacht, wenn zusätzliche Daten empfangen werden, die nicht erwartet werden. Entfernen Sie die hier generierte Ausgabe.
Sie können überprüfen, ob Ihr Terminal interaktiv ist und nur Text ausgeben, indem Sie den folgenden Code in einem bashrc verwenden. Etwas Äquivalentes gibt es auch für andere Muscheln:
quelle
Die Lösung gefunden. Meine .bashrc-Datei und .bash_logout wurden so eingestellt, dass sie mir bei jeder An- und Abmeldung Informationen wiedergeben. Anscheinend gab diese Echo-neue Zeile scp einige Probleme. Ich habe meine Echo-Aussagen auskommentiert und das hat den Trick gemacht!
quelle
Ich hatte ein ähnliches Problem. Der Grund war genau der folgende: Ich habe in meiner .bashrc einen Befehl "echo" some text "" zum Drucken des Status des Proxys. Und dieses "Echo" eines Textes "" führte dazu, dass scp fehlschlug. Wenn ich also das "Echo" in der .bashrc-Datei entferne, werden die Dateien mit scp übertragen.
quelle