HPオートメーションサーバーのプロキシに非対話的にsshコマンドを送信しようとしています。sshを入力して対話的に完全に正常に入力することはできますが、非対話的にコマンドを実行します。コマンドを送信できるようにクライアント側で変更できることはありますか?サーバー側で変更できることはあまりありません。
どうやらそれは可能ですが、インストールで機能させることができません(リンクを参照してください: 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/"
ありがとうございました
サーバーはインタラクティブシェルを開くことを許可していますが、exec
システムコールを使用して疑似ターミナルなしでコマンドを実行することはできません。使用 -t
次のように切り替えて、疑似端末割り当てを強制します。
ssh [email protected] -p 8022 -t show version
または、expect
を使用して、リモートエンドポイントとの対話をスクリプト化します。例については this answer を参照してください。
参照:
通常、クライアントがttyを要求していて、サーバーが拒否しているためです。 ssh -T ......
でttyを要求しないようにしてください