Apa yang bisa menyebabkan pesan “permintaan exec gagal di saluran 0” muncul

9

Saya mencoba mengirim perintah ssh non-interaktif ke proxy server otomatisasi HP, dan sementara saya bisa ssh masuk dan memasukkannya dengan baik-baik saja, saya selalu menerima pesan "permintaan exec gagal di saluran 0" ketika mencoba mengirim perintah alih non-interaktif. Apakah ada sesuatu yang dapat saya ubah di sisi klien untuk memungkinkan saya mengirim perintah? Tidak banyak yang bisa saya ubah di sisi server.

masukkan deskripsi gambar di sini

Rupanya itu mungkin, tetapi saya tidak bisa membuatnya bekerja pada instalasi saya (lihat tautan: https://community.hpe.com/t5/Network-Automation-Practitioners/Is-there-a-way-to-issue-- a-command-to-an-NA-proxy-using-SSH-non / mp / 6935003 / highlight / false # M2821 )

Jika itu akan membantu, berikut adalah detail versi untuk OS saya dan versi 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/"

Terima kasih

lacrosse1991
sumber

Jawaban:

1

Server memungkinkan Anda untuk membuka shell interaktif tetapi bukan execsystem call untuk menjalankan perintah tanpa pseudo-terminal. Gunakan -tsakelar sebagai berikut untuk memaksa alokasi terminal semu.

ssh [email protected] -p 8022 -t show version

Atau, gunakan expectuntuk skrip interaksi dengan titik akhir jarak jauh. Lihat jawaban ini sebagai contoh.

Referensi:

naga
sumber
0

Biasanya karena klien meminta tty, dan server menolak. Cobalah JANGAN meminta tty denganssh -T ......

Sirch
sumber
-1

Apakah Anda memiliki sesuatu di rcfile shell Anda (.bashrc, .zshrc, dll) atau .login, .profile, dll. Yang memeriksa untuk memastikan shell tersebut interaktif sebelum dijalankan? Jika tidak, di situlah letak masalahnya.

Saran saya adalah untuk sementara mengubah nama hal-hal seperti .profile, .bashrc, .login, dan .bash_profile menjadi .profile.off (dan seterusnya) dan lihat apakah masalahnya masih ada.

Jika tidak, Anda memerlukan beberapa kode di rcfile yang menyinggung yang akan memeriksa untuk memastikan shell itu interaktif sebelum dijalankan.

Dr. JKL
sumber