Saya mencoba scp
file dari server ke mesin lokal saya, tetapi ini memberi saya kesalahan ini:
protocol error: unexpected <newline>
Ini sintaks saya:
scp user@server:/path/to/file .
Itu tidak bekerja di server ini, tetapi kemudian saya mencoba perintah yang sama di server saya yang lain, jadi saya hanya dapat berasumsi bahwa itu adalah sesuatu yang salah dengan server saya dan bukan sintaks dari scp
perintah tersebut.
Ada ide?
~/.bashrc
di server.Jawaban:
Salah satu skrip login Anda (.bashrc / .cshrc / etc.) Sedang mengeluarkan data ke terminal saat seharusnya tidak. Hal ini menyebabkan kesalahan scp ketika terhubung dan bersiap-siap untuk menyalin karena mulai menerima data tambahan yang tidak diharapkan. Hapus output yang dihasilkan di sini.
Anda dapat memeriksa apakah terminal Anda interaktif dan hanya menghasilkan teks dengan menggunakan kode berikut dalam bashrc. Sesuatu yang setara juga ada untuk shell lainnya:
sumber
Menemukan solusinya. File .bashrc dan .bash_logout saya disetel untuk menyuarakan informasi kepada saya setiap kali saya masuk / keluar. Rupanya baris baru yang digaungkan itu memberikan beberapa masalah kepada scp. Saya berkomentar pernyataan gema saya dan itu berhasil!
sumber
Saya punya masalah serupa. Alasannya persis seperti ini: Saya memiliki perintah "echo" some text "" di .bashrc saya untuk mencetak status proxy. Dan "echo" some text "" ini menyebabkan scp gagal. Jadi dengan menghapus "echo" di file .bashrc, saya bisa mentransfer file menggunakan scp.
sumber