ssh命令行命令提示用户输入密码,例如:
密码:
在C语言中,当我执行以下操作:
system("ssh name@host");
system("password");
命令行会提示用户并忽略来自我的程序的任何输入。它似乎总是接受由用户键入的输入。有没有办法将我放到stdout中的输出重定向并将其管道传输到ssh的密码提示中?
我尝试了各种方法,从上面到像这样将ssh视为文件指针:
FILE *ssh = popen("ssh -t -t -S -o StrictHostKeyChecking=no name@host", "w");
我尝试了很多方法在写入到文件指针后,但是似乎都不起作用。
[bash] ssh password
以了解你要面对的情况。你可以使用expect
来“输入”你的密码,或者使用ssh功能的公钥密码文件,当然,也可以重新发明expect
。祝你好运。 - shellter