関連するドキュメントとチュートリアルを読み、同様の質問を見つけましたが、まだ先に進むことができません。これが一般的な質問である場合は、事前にお詫び申し上げます。いろいろ調べたのですが、何を探しているのかよくわかりませんでした...
Debian で C 用の Libssh を試しています。
rc = ssh_channel_request_exec(channel, "ls -l");
if (rc != SSH_OK) {
ssh_channel_close(channel);
ssh_channel_free(channel);
return rc;
}
これにより、SSH_OK が返され、コマンドが正常に送信されたことが示されます。同様の質問から私が理解しているように、これはリターンがコマンドの「送信」の成功をリッスンするためです。return は、正常に実行されたかどうかをリッスンしません。
私の質問は、どうすればいいですか:
- コマンドを実行します (上記の関数では、現在は実行されず、コマンドを送信するだけです)
- その実行を聞く
- 返された出力を印刷しますか?
ssh_channel_read() 関数を認識していますが、コマンドが実行されないため、通常は出力が得られます
Read (256) buffered : 0 bytes. Window: 64000