#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 的密码。