O que pode estar causando o aparecimento da mensagem "solicitação executiva falhada no canal 0"

9

Estou tentando enviar um comando ssh de maneira não interativa para o proxy de um servidor de automação HP e, embora eu possa ssh e inseri-lo de maneira interativa perfeitamente bem, sempre recebo a mensagem "solicitação executiva falhada no canal 0" ao tentar enviar o comando sobre não interativamente. Existe algo que eu possa mudar no lado do cliente para permitir o envio do comando? Não há muito que eu possa mudar no lado do servidor.

insira a descrição da imagem aqui

Aparentemente é possível, mas simplesmente não consigo fazê-lo funcionar na minha instalação (consulte o link: 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 / destaques / false # M2821 )

Caso isso ajude, aqui estão os detalhes da versão do meu sistema operacional e da versão 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/"

Obrigado

lacrosse1991
fonte

Respostas:

1

O servidor está permitindo que você abra um shell interativo, mas não a execchamada do sistema para executar um comando sem um pseudo-terminal. Use o -tcomutador da seguinte maneira para forçar a alocação pseudo-terminal.

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

Como alternativa, use expectpara criar scripts de uma interação com o terminal remoto. Veja esta resposta para um exemplo.

Referências:

Dragão
fonte
0

Geralmente, porque o cliente está solicitando um tty e o servidor está recusando. Tente NÃO solicitar tty com umssh -T ......

Sirch
fonte
-1

Você tem alguma coisa em seu shell rcfile (.bashrc, .zshrc, etc) ou .login, .profile, etc que esteja verificando para garantir que o shell seja interativo antes de ser executado? Caso contrário, é aí que reside o seu problema.

Meu conselho é renomear temporariamente coisas como .profile, .bashrc, .login e .bash_profile como .profile.off (e assim por diante) e verificar se o problema ainda existe.

Caso contrário, você precisará de algum código no rcfile ofensivo que verificará se o shell é interativo antes de ser executado.

Dr. JKL
fonte