scp возвращает «неожиданную <новую строку>» ошибку


11

Я пытаюсь scpфайл с сервера на мою локальную машину, но он дает мне эту ошибку:

protocol error: unexpected <newline>

Это мой синтаксис:

scp user@server:/path/to/file .

Он не работал на этом сервере, но затем я попробовал эту же команду на другом сервере, поэтому я могу только предположить, что это что-то не так с моим сервером, а не синтаксис scpкоманды.

Есть идеи?


Пожалуйста, оставьте свой ~/.bashrcна сервере.
кванты

Спасибо за помощь кванта. Я отредактировал свой .bashrc как раз перед тем, как увидеть ваш пост. Проблема заключалась в том, что у меня было эхо-заявление. Спасибо за помощь!
срчуло

@Miles, я пытался, но мне нужно подождать 8 часов, потому что у меня репутация менее 100. Я опубликую это как ответ, когда это время истечет.
срчуло

К вашему сведению, я столкнулся с этой проблемой и ... <sheepish> моя команда scp неверна </ sheepish>. Так что это может быть просто так.
ognockocaten

Ответы:


19

Один из ваших сценариев входа в систему (.bashrc / .cshrc / и т. Д.) Выводит данные в терминал, когда этого не должно быть. Это приводит к ошибке scp, когда он подключается и готовится к копированию, так как начинает получать дополнительные данные, которых он не ожидает. Удалить вывод, сгенерированный здесь.

Вы можете проверить, является ли ваш терминал интерактивным и выводить только текст, используя следующий код в bashrc. Что-то эквивалентное существует и для других оболочек:

if shopt -q login_shell; then
    [any code that outputs text here]
fi

2

Нашел решение. Мой файл .bashrc и .bash_logout были настроены на вывод информации для меня при каждом входе / выходе. Видимо, эта новая линия дала SCP некоторые проблемы. Я прокомментировал свои эхо-заявления, и это сработало!


-1

У меня была похожая проблема. Причина была именно в этом: у меня в .bashrc есть команда "echo" some text "" для печати состояния прокси. И это "эхо" некоторого текста "" приводило к сбою scp. Поэтому, удалив «echo» в файле .bashrc, я перенес файлы с помощью scp.


1
Это не отличается от двух других ответов, опубликованных семь лет назад.
Касперд
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.