SSH полностью работает с этой командой:
$ ssh user@$THE_IP_ADDRESS
Но когда я пробую scp, я получаю этот полный бред
$ scp ~/file user@$THE_IP_ADDRESS:~/file
\033[?25l\033[?7l\033[0m\033[31m\033[1m .-/+oossssoo+/-.
И команда не выполняется. Что означает это сообщение? Почему я не могу скопировать свой файл?
Клиент:
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
А сервер — это:
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
решение1
Оказывается, я .bashrc
его сломал. Мои .bashrc
звонкинеофетчпри входе в систему для печати стилизованного ascii-арта. Это .-/+oossssoo+/-.
часть ascii-арта, а остальное — это escape-коды для цветов и т. п. Я исправил это, не печатая ничего при входе в систему.
ПРАВКА: Но если вы настаиваете на отображении причудливых вещей, таких как ASCII-арт, при входе в систему, вы можете защитить свои команды с помощью if [[ $- =~ "i" ]]
проверки того, является ли сеанс интерактивным.
решение2
У меня та же проблема. Проблема вызвана вызовом neofetch в начале сеанса терминала. Исправлено следующим образом в моем .bashrc:
if [[ $- != *i* ]]; then
return;
else
if [ -x /usr/bin/neofetch ]; then
neofetch
fi
fi