HP ProCurve の構成をバックアップする必要があり、SSH 経由で行う必要があります。
ProCurve シェルはインタラクティブで、次のようなものを配置できません。
$ ssh user@ip 'command1; command2'
...シェルでエラーが表示されるためです — おそらくマシンに実際には Unix のようなシェルがないためです。接続してパスワードを入力し、2 つのコマンドを実行する必要があります。
HP ProCurve の構成をバックアップする必要があり、SSH 経由で行う必要があります。
ProCurve シェルはインタラクティブで、次のようなものを配置できません。
$ ssh user@ip 'command1; command2'
...シェルでエラーが表示されるためです — おそらくマシンに実際には Unix のようなシェルがないためです。接続してパスワードを入力し、2 つのコマンドを実行する必要があります。
Procurve/Cisco デバイスでは、単純に実行することはできませんssh hostname command
。インタラクティブな ssh セッションで動作するツールを使用する必要があります。つまり、expect、pexpect などです。別の解決策は、次を使用することsocat
です。
(sleep 5; echo ${PASSWORD}; sleep 2; echo ; echo command1; sleep 2) \
| socat - EXEC:"ssh ${SWITCH}",setsid,pty,ctty
あなたの質問を完全に理解しているかどうかはわかりません。複数のコマンドを実行しようとしていますか? 試しましたsh -c
か?
ssh user@ip sh -c "command1; command2"
からman sh
:
-c Read commands from the command_string operand instead of from the standard input. Special parameter 0 will be set from the command_name operand
and the positional parameters ($1, $2, etc.) set from the remaining argument operands.