не вдалося виконати запит scp exec на каналі 0


12

Я намагаюся SCP-файли з одного комп'ютера на інший, однак я отримую

не вдалося виконати запит на каналі 0 ".

Однак, коли я використовую SSH, я можу без проблем дістатися до машини. Я використовую функцію SCP в Cygwin, якщо це допомагає.

Що я знайшов під час пошуку в Інтернеті, говорив про файл ".bashrc", проте єдиний знайдений ним - "bash.bashrc".

Це команда, яку я використав:

scp /filelocation/file user@hostname:/folderlocation

Я також намагався з IP-адресою замість імені хоста, але у мене такий же результат.

Я перевірив, що на віддаленому сайті є команда SCP.

Відповіді:


0

Щоб побачити .bashrc файл (та інші файли, що починаються з крапки), вам потрібно це зробити

ls -a

Просте вирішення полягає у перейменуванні файлів .profile, .bashrc, .login, .bash_profile, щоб вони не потрапляли. Вони відомі як файли запуску оболонки.

Якщо ваш scp зараз працює, відповідь лежить в одному з цих файлів.

В основному, один із файлів запуску оболонки - це відправлення виводу назад, і це переплутує триває узгодження ssl.

Це може бути так само просто, як надсилання спеціальних послідовностей евакуації для встановлення заголовка вашого вікна. Ще один винуватець - команда stty.

Ви хочете оточувати вихід до терміналу лише тоді, коли входите в систему

if tty -s >/dev/null 2>&1; then
    # here if have a real terminal associated to send stty commands 
    # or other special escape sequences to terminal
fi

0

Я погоджуюся з strobelight, що ця помилка часто виводиться з файлів ініціалізації .bashrc (та інших) bash.

Існує декілька способів тестування на інтерактивні оболонки, вбудовані в bash : розширений посібник з керування сценаріями bash, посилання на сервер за замовчуванням .

Найчастіше я бачив тестування $ PS1, коли робити вихід:

if [ "$PS1" ]; then
    echo "some message"
fi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.