Назад | Перейти на главную страницу

scp returns “unexpected <newline>" ошибка</newline>

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

protocol error: unexpected <newline>

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

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

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

Любые идеи?

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

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

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

Нашел решение. Мои файлы .bashrc и .bash_logout были настроены так, чтобы выводить мне информацию всякий раз, когда я вхожу в систему / выхожу из системы. Очевидно, эта новая строка вызвала у scp некоторые проблемы. Я закомментировал свои эхо-утверждения, и это помогло!

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