problem description
execute execvp (arglist [0], arglist); after the child thread setsid () in C language. Prompt
if ssh-askpass is not installedssh_askpass: exec(/usr/libexec/openssh/ssh-askpass): No such file or directory
Permission denied, please try again.
ssh_askpass: exec(/usr/libexec/openssh/ssh-askpass): No such file or directory
Permission denied, please try again.
ssh_askpass: exec(/usr/libexec/openssh/ssh-askpass): No such file or directory
root@192.168.1.1: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
if installed, ssh-askpass, will automatically start to ask for a password.
how can I enter the ssh password on the command line instead of starting ssh-askpass,? And comment out setsid (); and you will find that ssh-askpass will not be started.
Environment
system version Fedora 28
openssh version OpenSSH_7.8p1, OpenSSL 1.1.0h-fips 27 Mar 2018
related codes
int main() {
int pid;
if ((pid = fork()) == 0) {
printf("child");
setsid();
execlp("ssh", "ssh", "192.168.1.1", NULL);
}
}