#include <stdlib.h>
#include <unistd.h>
int main()
{
int euid = geteuid();
setreuid(euid, euid);
system("echo hi");
system("cp test_file ~/dump.txt");
system("scp ~/dump.txt host@ipaddress:~");
return 0;
}
上記のコードは、ファイルをダンプファイルにコピーし、ターミナルのscpコマンドを使用して誰かに送信する短いプログラムです。scpを初めて使用すると、端末にプロンプトが表示され、ユーザーがホスト名のリストなどにキーを追加するかどうかを尋ねられます。次に、パスワードの入力を求められます。このプログラムから入力を送信して、パスワードプロンプトで受信できるようにするにはどうすればよいですか?そのコードはどのように見えますか?
編集:私が直面している問題は、scpへのシステムコールがある場合、scpコマンド全体が実行されるまでプログラムが一時停止することです。そのため、その間、入力はプログラムからではなく、ユーザーから取得されます。 。プログラムからscpのパスワードを渡す方法がわかりません。