"채널 0에서 실행 요청 실패"메시지가 나타나는 원인


9

ssh 명령을 HP 자동화 서버의 프록시에 비 대화식으로 보내려고하고 있는데, ssh를 입력하고 대화식으로 완벽하게 입력 할 수는 있지만 전송하려고 할 때 항상 "채널 0에서 실행 요청이 실패했습니다"라는 메시지가 나타납니다. 비 대화식으로 명령. 클라이언트 측에서 명령을 보낼 수 있도록 변경할 수있는 것이 있습니까? 서버 측에서 변경할 수있는 것은 많지 않습니다.

여기에 이미지 설명을 입력하십시오

분명히 가능하지만 설치 작업을 할 수 없습니다 ( 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 )

도움이되는 경우 내 OS 및 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/"

감사합니다

답변:


1

서버는 대화식 쉘을 열 수 있지만 exec의사 터미널없이 명령을 실행하기위한 시스템 호출 은 허용하지 않습니다 . -t의사 터미널 할당을 강제 하려면 다음과 같이 스위치를 사용하십시오 .

ssh austin@127.0.0.1 -p 8022 -t show version

또는 expect원격 엔드 포인트와의 상호 작용을 스크립팅하는 데 사용 하십시오. 예를 보려면 이 답변 을 참조하십시오 .

참고 문헌 :


0

일반적으로 클라이언트가 tty를 요청하고 서버가 거부하기 때문입니다. tty를 요청하지 마십시오.ssh -T ......


-1

쉘 rcfile (.bashrc, .zshrc 등) 또는 쉘이 실행되기 전에 대화식인지 확인하는 .login, .profile 등이 있습니까? 그렇지 않은 경우 문제가있는 곳입니다.

내 조언은 일시적으로 .profile, .bashrc, .login 및 .bash_profile과 같은 이름을 .profile.off (및 기타)로 바꾸고 문제가 여전히 존재하는지 확인하는 것입니다.

그렇지 않은 경우, 문제가되는 rcfile에 쉘이 실행되기 전에 대화식인지 확인하는 코드가 필요합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.