Что может быть причиной появления сообщения «Не удалось выполнить запрос на канале 0»

9

Я пытаюсь отправить команду ssh неинтерактивно на прокси-сервер сервера автоматизации HP, и хотя я могу ssh войти и ввести ее в интерактивном режиме совершенно нормально, я всегда получаю сообщение «Не удалось выполнить запрос на канале 0» при попытке отправить командовать не в интерактивном режиме. Есть ли что-нибудь, что я мог бы изменить на стороне клиента, чтобы я мог отправить команду? Там не так много, что я могу изменить на стороне сервера.

введите описание изображения здесь

Очевидно, это возможно, но я просто не могу заставить его работать над моей установкой (см. Ссылку: https://community.hpe.com/t5/Network-Automation-Practitioners/Is-there-a-way-to-issue- a-команда-для-NA-прокси, использующая SSH-non / mp / 6935003 / highlight / false # M2821 )

В случае, если это поможет, вот детали версии для моей ОС и версия openssh:

OpenSSH_7.2p2, OpenSSL 1.0.2j-fips  26 Sep 2016

NAME="openSUSE Leap"
VERSION="42.2"
ID=opensuse
ID_LIKE="suse"
VERSION_ID="42.2"
PRETTY_NAME="openSUSE Leap 42.2"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:42.2"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"

Спасибо

lacrosse1991
источник

Ответы:

1

Сервер позволяет открывать интерактивную оболочку, но не execсистемный вызов для выполнения команды без псевдотерминала. Используйте -tпереключатель следующим образом для принудительного выделения псевдо-терминала.

ssh austin@127.0.0.1 -p 8022 -t show version

Или используйте expectдля сценария взаимодействия с удаленной конечной точкой. Смотрите этот ответ для примера.

Ссылки:

Дракон
источник
0

Обычно потому, что клиент запрашивает tty, а сервер отказывается. Попробуйте НЕ запрашивать tty сssh -T ......

Sirch
источник
-1

У вас есть что-нибудь в rcfile оболочки (.bashrc, .zshrc и т. Д.) Или .login, .profile и т. Д., Которые проверяют, чтобы убедиться, что оболочка является интерактивной, прежде чем она запустится? Если нет, вот где ваша проблема.

Мой совет - временно переименовать такие вещи, как .profile, .bashrc, .login и .bash_profile в .profile.off (и т. Д.) И посмотреть, существует ли проблема до сих пор.

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

Доктор JKL
источник