Сообщение scp \ 033H

Имеет странную проблему с scp:

$ scp user@server.org:~/test.txt ./ Password: \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H

Пароль принимает штраф, но получает эту странную вещь \ 033H. И файл не передается. У кого-нибудь есть идеи?

3
задан 14 November 2017 в 13:01

3 ответа

исправление это обычно простые. Обычно вы можете проверить [ф7], найти строку или пару строк вверху, которые вызывают проблемы, и переместить или удалить их. Самое трудное-это убедить людей, что эта проблема на самом деле реально. Подробности следуют, но если вы просто хотите, чтобы исправить эту проблему, тогда вам нужно будет только использовать этот сокращенный вариант первой части.

проблема и как ее решить

это происходит, когда [ф8] в домашний каталог пользователя на удаленной машине содержит команды, которые производят выход и работают даже в не интерактивных оболочек. Реже, это также произойдет, если в общесистемных [F9] и содержит такие команды. Удельная производительность варьируется в зависимости от того, что производит его. Но сочетание получив неожиданный выходной и исправить, имеющих какие-либо переводы преуспеть или даже начать очень сильно указывает на то, что причина (особенно когда сервер на Debian или Ubuntu системные). [ф10] использование стандартных ввода и вывода для передачи и приема данных, и если они не связаны данные передаются через них, то он не может передавать файлы.

если вы думаете, очень или иначе интересует подробное объяснение, почему это происходит, смотрите во втором разделе, ниже.

эта проблема не нарушить нормальное SSHing. Поэтому предполагая, что система настроена, чтобы позволить вам [ф12] в успешном для интерактивной оболочки входа в систему, Вы можете сделать это, откройте [от f13] в удаленный домашний каталог пользователя, и либо удалить или закомментировать (с [ф14]) ошибочная команда или команды, если Вы не нуждаетесь в них. Или если вы нуждаетесь в них, то переместить их ниже еще одна команда, которая прерывается, когда оболочка является неинтерактивной. Такая команда уже может присутствовать. В Ubuntu, пользователей [ф15] файлов и всей системы [ф16] обычно начинают с них.

по умолчанию [f17 в] файл в Ubuntu, скопировал с [ф18], если учетная запись пользователя будет создана, содержащий этот код, чтобы проверить, если запущена оболочка является интерактивной, и для предотвращения дальнейших команд в файл из работает если это не так:

[Ф1]

другой распространенный метод, который некоторые люди используют в своих [зг19] файлы и который в настоящее время используется в рамках всей системы [20 фунтов] файл для всех пользователей, это:

[Ф2]

если файлы были заменены или изменены по умолчанию, то вы можете увидеть либо использовать технику в любом файле. Возможны и другие способы, чтобы проверить для интерактивной работы, но они являются редкостью. Если пользователь написал свой собственный файл [клавиши f21] с нуля или привезли его из другой операционной системы, которая не в Debian, Ubuntu или другая производная от Debian, то вполне вероятно, что они не имеют такого кода вовсе. Но если вам это нужно, вы все равно можете добавить его.

любая команда, которая производит выход и появляется в [ф22] или [ф23], если он не появляется не код, как показано выше, может привести к непредвиденным данных, которые будут отправлены в начале [ф24] сессии, и предотвратит [f25 привод датчика] от того, чтобы передавать файлы.

если вы недавно редактировал один из этих файлов путем добавления команды к вершине, то он должен быть легким для вас, чтобы выяснить, специфические изменения, что вызвало проблему. Даже если нет, то описание выше вполне может дать вам достаточно информации.

тем не менее, я рекомендую вам отредактировать Ваш вопрос со всеми подробностями, включая содержимое этих файлов, или Вы не сможете решить проблему на основе разъяснения выше. Помните, что эти файлы на удаленном сервере, а не клиентской машины. Это должно помочь тем, кто найти свой вопрос понять проблему, а также сделает возможным получить более конкретные советы, если это необходимо.

тем не менее, я рекомендую вам отредактировать Ваш вопрос со всеми подробностями, включая содержимое этих файлов, или Вы не сможете решить проблему на основе разъяснения выше. Помните, что эти файлы на удаленном сервере, а не клиентской машины. Это должно помочь тем, кто найти свой вопрос понять проблему, а также сделает возможным получить более конкретные советы, если это необходимо.

почему проблема возникает

это происходит, когда [ф8] в домашний каталог пользователя на удаленной машине содержит команды, которые производят выход и работают даже в не интерактивных оболочек. bash выполняет команды из [ф28] и /etc/bash.basrhc когда:

оболочка является интерактивной, или повторного запуска скрипта, как [ф30 или ф31] источников, а также когда [f32 из] работает ни интерактивно, ни в качестве оболочки входа в систему, но определяет, что это, вероятно, как исходная оболочка в удаленное соединение.

что bash принимает в качестве достаточных доказательств, что это пульт дистанционного оболочки ... и так ли, на практике, этот эффект происходит даже с SSH--в основном зависит от стандартные ввод и вывод, и во-вторых, на версии bash версия [ф35], который используется.

на текущих системах Debian и Ubuntu, когда [f36 в] работает как не-интерактивные номера-оболочки входа в систему, он проверяет, если переменная [фунции f37] среды и непустая. (Он проверяет другие вещи тоже, но по SSH на текущие системы Ubuntu, они ничего не показывают.) Если это так, и переменная SHLVL окружающая среда имеет значение менее 2--с указанием, что это [d39 сеанса], что оболочки--[ф39] выполняет команды в [ф40 и ф41].

, чтобы быстро убедиться в этом, не изменяя файлы конфигурации, читатели могут [dрайвер d41]версия [ф35][!dрайвер d41], или изучить функции run_startup_files в [пулемет f44] (который начинается на линии 1022 в этой версии).

не-интерактивные номера-логин [f45 с] Shell то, что вы получаете, когда вы запустите скрипт с bash, либо, выполняя ее после установки необходимых разрешений и придав ему [пулемет f44] или bash your-script в явном виде. Это то, что вы получаете, когда вы делаете bash запустить команду с параметром -c, например:

[Ф3]

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

[Ф4]

но вот где не интуитивен части: оболочка, которую вы получаете, когда вы войти через SSH для неинтерактивного сеанса нон-интерактивные номера-регистрационной оболочки. Вот что вы получаете от выполнения одной команды через SSH:

[ф5]

то есть, запустив одну команду через SSH работает [ф50] как же "Шелл", не интерактивный, не оболочки входа в систему, как при выполнении одной команды локально (или в рамках уже установленного сеанса) с помощью bash -c.

[размером d57], как ssh в общем, scp причины снаряд должен быть запущен на удаленном компьютере удаленного пользователя. Это все равно, что они настроены как и их оболочки, т. е. оболочки, перечисленных в пользователя запись в /etc/passwd и выход [f55, которая] (который также устанавливается в значение $SHELL переменную среды, если они вошли в систему). Если они изменили его, выполнив chsh, это Пользователь по умолчанию Shell, которая в Ubuntu bash.[!размером d57]

вот почему такие команды, как [о d54]неинтерактивном[!о d54] запустить не-интерактивные номера-логин bash оболочку на удаленном сервере, тоже:

[ф6]

, если они не охраняются код, чтобы остановить если оболочка не является интерактивным, команды [от f60] или [ф61] управляют такой снаряд. Если они производят выход-умышленно или неумышленно-тогда scp не сможете копировать файлы.

4
ответ дан 22 May 2018 в 16:15
  • 1
    Вау! Большое спасибо за тщательный ответ Элиа. Я попал в .bashrc на обеих машинах. На удаленном компьютере я добавил «вкладки 4», к моему .bashrc - это то, что, по-видимому, нарушало его. Еще раз спасибо! – mvledn 14 November 2017 в 16:50

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

проблема и как ее решить

это происходит, когда .bashrc в домашний каталог пользователя на удаленной машине содержит команды, которые производят выход и работают даже в не интерактивных оболочек. Реже, это также произойдет, если в общесистемных [F9] и содержит такие команды. Удельная производительность варьируется в зависимости от того, что производит его. Но сочетание получив неожиданный выходной и исправить, имеющих какие-либо переводы преуспеть или даже начать очень сильно указывает на то, что причина (особенно когда сервер на Debian или Ubuntu системные). scp использование стандартных ввода и вывода для передачи и приема данных, и если они не связаны данные передаются через них, то он не может передавать файлы.

если вы думаете, очень или иначе интересует подробное объяснение, почему это происходит, смотрите во втором разделе, ниже.

эта проблема не нарушить нормальное SSHing. Поэтому предполагая, что система настроена, чтобы позволить вам ssh в успешном для интерактивной оболочки входа в систему, Вы можете сделать это, откройте [от f13] в удаленный домашний каталог пользователя, и либо удалить или закомментировать (с #) ошибочная команда или команды, если Вы не нуждаетесь в них. Или если вы нуждаетесь в них, то переместить их ниже еще одна команда, которая прерывается, когда оболочка является неинтерактивной. Такая команда уже может присутствовать. В Ubuntu, пользователей .bashrc файлов и всей системы /etc/bash.bashrc обычно начинают с них.

по умолчанию [f17 в] файл в Ubuntu, скопировал с /etc/skel, если учетная запись пользователя будет создана, содержащий этот код, чтобы проверить, если запущена оболочка является интерактивной, и для предотвращения дальнейших команд в файл из работает если это не так:

# If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac

другой распространенный метод, который некоторые люди используют в своих [зг19] файлы и который в настоящее время используется в рамках всей системы [20 фунтов] файл для всех пользователей, это:

# If not running interactively, don't do anything [ -z "$PS1" ] && return

если файлы были заменены или изменены по умолчанию, то вы можете увидеть либо использовать технику в любом файле. Возможны и другие способы, чтобы проверить для интерактивной работы, но они являются редкостью. Если пользователь написал свой собственный файл [клавиши f21] с нуля или привезли его из другой операционной системы, которая не в Debian, Ubuntu или другая производная от Debian, то вполне вероятно, что они не имеют такого кода вовсе. Но если вам это нужно, вы все равно можете добавить его.

любая команда, которая производит выход и появляется в .bashrc или /etc/bash.bashrc, если он не появляется не код, как показано выше, может привести к непредвиденным данных, которые будут отправлены в начале scp сессии, и предотвратит [f25 привод датчика] от того, чтобы передавать файлы.

если вы недавно редактировал один из этих файлов путем добавления команды к вершине, то он должен быть легким для вас, чтобы выяснить, специфические изменения, что вызвало проблему. Даже если нет, то описание выше вполне может дать вам достаточно информации.

тем не менее, я рекомендую вам отредактировать Ваш вопрос со всеми подробностями, включая содержимое этих файлов, или Вы не сможете решить проблему на основе разъяснения выше. Помните, что эти файлы на удаленном сервере, а не клиентской машины. Это должно помочь тем, кто найти свой вопрос понять проблему, а также сделает возможным получить более конкретные советы, если это необходимо.

тем не менее, я рекомендую вам отредактировать Ваш вопрос со всеми подробностями, включая содержимое этих файлов, или Вы не сможете решить проблему на основе разъяснения выше. Помните, что эти файлы на удаленном сервере, а не клиентской машины. Это должно помочь тем, кто найти свой вопрос понять проблему, а также сделает возможным получить более конкретные советы, если это необходимо.

почему проблема возникает

это происходит, когда .bashrc в домашний каталог пользователя на удаленной машине содержит команды, которые производят выход и работают даже в не интерактивных оболочек. bash выполняет команды из ~/.bashrc и /etc/bash.basrhc когда:

оболочка является интерактивной, или повторного запуска скрипта, как [f30 или ф31] источников, а также когда [f32 из] работает ни интерактивно, ни в качестве оболочки входа в систему, но определяет, что это, вероятно, как исходная оболочка в удаленное соединение.

что bash принимает в качестве достаточных доказательств, что это пульт дистанционного оболочки ... и так ли, на практике, этот эффект происходит даже с SSH--в основном зависит от стандартные ввод и вывод, и во-вторых, на версии bash версия sshd, который используется.

на текущих системах Debian и Ubuntu, когда [f36 в] работает как не-интерактивные номера-оболочки входа в систему, он проверяет, если переменная [fунции f37] среды и непустая. (Он проверяет другие вещи тоже, но по SSH на текущие системы Ubuntu, они ничего не показывают.) Если это так, и переменная SHLVL окружающая среда имеет значение менее 2--с указанием, что это [d39 сеанса], что оболочки--bash выполняет команды в [f40 и ф41].

, чтобы быстро убедиться в этом, не изменяя файлы конфигурации, читатели могут [dрайвер d41]версия sshd[!dрайвер d41], или изучить функции run_startup_files в [пулемет f44] (который начинается на линии 1022 в этой версии).

не-интерактивные номера-логин [f45 с] Shell то, что вы получаете, когда вы запустите скрипт с bash, либо, выполняя ее после установки необходимых разрешений и придав ему [пулемет f44] или bash your-script в явном виде. Это то, что вы получаете, когда вы делаете bash запустить команду с параметром -c, например:

bash -c 'echo hello world'

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

ssh user@server.org

но вот где не интуитивен части: оболочка, которую вы получаете, когда вы войти через SSH для неинтерактивного сеанса нон-интерактивные номера-регистрационной оболочки. Вот что вы получаете от выполнения одной команды через SSH:

ssh user@server.org command args...

то есть, запустив одну команду через SSH работает bash как же "Шелл", не интерактивный, не оболочки входа в систему, как при выполнении одной команды локально (или в рамках уже установленного сеанса) с помощью bash -c.

[размером d57], как ssh в общем, scp причины снаряд должен быть запущен на удаленном компьютере удаленного пользователя. Это все равно, что они настроены как и их оболочки, т. е. оболочки, перечисленных в пользователя запись в /etc/passwd и выход [f55, которая] (который также устанавливается в значение $SHELL переменную среды, если они вошли в систему). Если они изменили его, выполнив chsh, это Пользователь по умолчанию Shell, которая в Ubuntu bash.[!размером d57]

вот почему такие команды, как [о d54]неинтерактивном[!о d54] запустить не-интерактивные номера-логин bash оболочку на удаленном сервере, тоже:

scp user@server.org:~/test.txt ./

, если они не охраняются код, чтобы остановить если оболочка не является интерактивным, команды [от f60] или /etc/bash.bashrc управляют такой снаряд. Если они производят выход-умышленно или неумышленно-тогда scp не сможете копировать файлы.

4
ответ дан 18 July 2018 в 03:19

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

проблема и как ее решить

это происходит, когда .bashrc в домашний каталог пользователя на удаленной машине содержит команды, которые производят выход и работают даже в не интерактивных оболочек. Реже, это также произойдет, если в общесистемных [F9] и содержит такие команды. Удельная производительность варьируется в зависимости от того, что производит его. Но сочетание получив неожиданный выходной и исправить, имеющих какие-либо переводы преуспеть или даже начать очень сильно указывает на то, что причина (особенно когда сервер на Debian или Ubuntu системные). scp использование стандартных ввода и вывода для передачи и приема данных, и если они не связаны данные передаются через них, то он не может передавать файлы.

если вы думаете, очень или иначе интересует подробное объяснение, почему это происходит, смотрите во втором разделе, ниже.

эта проблема не нарушить нормальное SSHing. Поэтому предполагая, что система настроена, чтобы позволить вам ssh в успешном для интерактивной оболочки входа в систему, Вы можете сделать это, откройте [от f13] в удаленный домашний каталог пользователя, и либо удалить или закомментировать (с #) ошибочная команда или команды, если Вы не нуждаетесь в них. Или если вы нуждаетесь в них, то переместить их ниже еще одна команда, которая прерывается, когда оболочка является неинтерактивной. Такая команда уже может присутствовать. В Ubuntu, пользователей .bashrc файлов и всей системы /etc/bash.bashrc обычно начинают с них.

по умолчанию [f17 в] файл в Ubuntu, скопировал с /etc/skel, если учетная запись пользователя будет создана, содержащий этот код, чтобы проверить, если запущена оболочка является интерактивной, и для предотвращения дальнейших команд в файл из работает если это не так:

# If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac

другой распространенный метод, который некоторые люди используют в своих [зг19] файлы и который в настоящее время используется в рамках всей системы [20 фунтов] файл для всех пользователей, это:

# If not running interactively, don't do anything [ -z "$PS1" ] && return

если файлы были заменены или изменены по умолчанию, то вы можете увидеть либо использовать технику в любом файле. Возможны и другие способы, чтобы проверить для интерактивной работы, но они являются редкостью. Если пользователь написал свой собственный файл [клавиши f21] с нуля или привезли его из другой операционной системы, которая не в Debian, Ubuntu или другая производная от Debian, то вполне вероятно, что они не имеют такого кода вовсе. Но если вам это нужно, вы все равно можете добавить его.

любая команда, которая производит выход и появляется в .bashrc или /etc/bash.bashrc, если он не появляется не код, как показано выше, может привести к непредвиденным данных, которые будут отправлены в начале scp сессии, и предотвратит [f25 привод датчика] от того, чтобы передавать файлы.

если вы недавно редактировал один из этих файлов путем добавления команды к вершине, то он должен быть легким для вас, чтобы выяснить, специфические изменения, что вызвало проблему. Даже если нет, то описание выше вполне может дать вам достаточно информации.

тем не менее, я рекомендую вам отредактировать Ваш вопрос со всеми подробностями, включая содержимое этих файлов, или Вы не сможете решить проблему на основе разъяснения выше. Помните, что эти файлы на удаленном сервере, а не клиентской машины. Это должно помочь тем, кто найти свой вопрос понять проблему, а также сделает возможным получить более конкретные советы, если это необходимо.

тем не менее, я рекомендую вам отредактировать Ваш вопрос со всеми подробностями, включая содержимое этих файлов, или Вы не сможете решить проблему на основе разъяснения выше. Помните, что эти файлы на удаленном сервере, а не клиентской машины. Это должно помочь тем, кто найти свой вопрос понять проблему, а также сделает возможным получить более конкретные советы, если это необходимо.

почему проблема возникает

это происходит, когда .bashrc в домашний каталог пользователя на удаленной машине содержит команды, которые производят выход и работают даже в не интерактивных оболочек. bash выполняет команды из ~/.bashrc и /etc/bash.basrhc когда:

оболочка является интерактивной, или повторного запуска скрипта, как [f30 или ф31] источников, а также когда [f32 из] работает ни интерактивно, ни в качестве оболочки входа в систему, но определяет, что это, вероятно, как исходная оболочка в удаленное соединение.

что bash принимает в качестве достаточных доказательств, что это пульт дистанционного оболочки ... и так ли, на практике, этот эффект происходит даже с SSH--в основном зависит от стандартные ввод и вывод, и во-вторых, на версии bash версия sshd, который используется.

на текущих системах Debian и Ubuntu, когда [f36 в] работает как не-интерактивные номера-оболочки входа в систему, он проверяет, если переменная [fунции f37] среды и непустая. (Он проверяет другие вещи тоже, но по SSH на текущие системы Ubuntu, они ничего не показывают.) Если это так, и переменная SHLVL окружающая среда имеет значение менее 2--с указанием, что это [d39 сеанса], что оболочки--bash выполняет команды в [f40 и ф41].

, чтобы быстро убедиться в этом, не изменяя файлы конфигурации, читатели могут [dрайвер d41]версия sshd[!dрайвер d41], или изучить функции run_startup_files в [пулемет f44] (который начинается на линии 1022 в этой версии).

не-интерактивные номера-логин [f45 с] Shell то, что вы получаете, когда вы запустите скрипт с bash, либо, выполняя ее после установки необходимых разрешений и придав ему [пулемет f44] или bash your-script в явном виде. Это то, что вы получаете, когда вы делаете bash запустить команду с параметром -c, например:

bash -c 'echo hello world'

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

ssh user@server.org

но вот где не интуитивен части: оболочка, которую вы получаете, когда вы войти через SSH для неинтерактивного сеанса нон-интерактивные номера-регистрационной оболочки. Вот что вы получаете от выполнения одной команды через SSH:

ssh user@server.org command args...

то есть, запустив одну команду через SSH работает bash как же "Шелл", не интерактивный, не оболочки входа в систему, как при выполнении одной команды локально (или в рамках уже установленного сеанса) с помощью bash -c.

[размером d57], как ssh в общем, scp причины снаряд должен быть запущен на удаленном компьютере удаленного пользователя. Это все равно, что они настроены как и их оболочки, т. е. оболочки, перечисленных в пользователя запись в /etc/passwd и выход [f55, которая] (который также устанавливается в значение $SHELL переменную среды, если они вошли в систему). Если они изменили его, выполнив chsh, это Пользователь по умолчанию Shell, которая в Ubuntu bash.[!размером d57]

вот почему такие команды, как [о d54]неинтерактивном[!о d54] запустить не-интерактивные номера-логин bash оболочку на удаленном сервере, тоже:

scp user@server.org:~/test.txt ./

, если они не охраняются код, чтобы остановить если оболочка не является интерактивным, команды [от f60] или /etc/bash.bashrc управляют такой снаряд. Если они производят выход-умышленно или неумышленно-тогда scp не сможете копировать файлы.

4
ответ дан 24 July 2018 в 17:48

Другие вопросы по тегам:

Похожие вопросы: