What could be causing the message "exec request failed on channel 0" to appear

21,177

The server is allowing you to open an interactive shell but not the exec system call to execute a command without a pseudo-terminal. Use the -t switch as follows to force pseudo-terminal allocation.

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

Alternatively, use expect to script an interaction with the remote endpoint. See this answer for an example.

References:

Share:
21,177

Related videos on Youtube

lacrosse1991
Author by

lacrosse1991

Updated on September 18, 2022

Comments

  • lacrosse1991
    lacrosse1991 over 1 year

    I'm trying to send an ssh command non-interactively to an HP automation server's proxy, and while I can ssh in and enter it interactively perfectly fine, I always get the message "exec request failed on channel 0" when attempting to send the command over non-interactively. Is there anything that I could change on the client side to allow me to send the command over? There's not much that I can change on the server side.

    enter image description here

    Apparently it's possible, but I just can't get it working on my install (see link: https://community.hpe.com/t5/Network-Automation-Practitioners/Is-there-a-way-to-issue-a-command-to-an-NA-proxy-using-SSH-non/m-p/6935003/highlight/false#M2821)

    In case it would help, here are the version details for my OS and openssh version:

    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/"
    

    Thank you