C
cpptutor2000
Could some C guru help me please? I am using the following program to
open a SSH connection to a remote host and eventually run a program on
that remote host.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[]){
char command[50];
if(argc < 4){
printf("user name and/or remote host name and/or");
printf(" directory name not supplied\n");
printf("usage: ./argtest <username> <hostname> <remote directory
name>\n");
exit(0);
}
sprintf(command, "ssh %s@%s \"cd %s;\"", argv[1], argv[2], argv[3]);
/* printf("%s\n", command); */
system(command);
return 0;
}
After compilation, I use the command line arguments as follows:
../argtest dixit linux02.phy.utexas.edu
/home/phy/students/dixit/txtfiles
I get the following response:
Warning: the RSA host key for 'linux02.phy.utexas.edu' differs from the
key for the IP address '128.83.59.122'
Offending key for IP in /home/phy/students/dixit/.ssh/known_hosts:1
Matching host key in /home/phy/students/dixit/.ssh/known_hosts:5
Are you sure you want to continue connecting (yes/no)? yes
(e-mail address removed)'s password:
Memory fault(coredump)
Could someone please point out what the problem is, that is causing the
coredump, and how to
fix it? I mean, if I just login to the remote machine, then there is no
problem at all, but if I attempt
to go some particular directory, I get this stupid core dump.
Moreover, if I can get into the remote machine and type in 'hostname
-v' I get the name of the local host, NOT the remote machine.
Thanks in advance for your help.
open a SSH connection to a remote host and eventually run a program on
that remote host.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[]){
char command[50];
if(argc < 4){
printf("user name and/or remote host name and/or");
printf(" directory name not supplied\n");
printf("usage: ./argtest <username> <hostname> <remote directory
name>\n");
exit(0);
}
sprintf(command, "ssh %s@%s \"cd %s;\"", argv[1], argv[2], argv[3]);
/* printf("%s\n", command); */
system(command);
return 0;
}
After compilation, I use the command line arguments as follows:
../argtest dixit linux02.phy.utexas.edu
/home/phy/students/dixit/txtfiles
I get the following response:
Warning: the RSA host key for 'linux02.phy.utexas.edu' differs from the
key for the IP address '128.83.59.122'
Offending key for IP in /home/phy/students/dixit/.ssh/known_hosts:1
Matching host key in /home/phy/students/dixit/.ssh/known_hosts:5
Are you sure you want to continue connecting (yes/no)? yes
(e-mail address removed)'s password:
Memory fault(coredump)
Could someone please point out what the problem is, that is causing the
coredump, and how to
fix it? I mean, if I just login to the remote machine, then there is no
problem at all, but if I attempt
to go some particular directory, I get this stupid core dump.
Moreover, if I can get into the remote machine and type in 'hostname
-v' I get the name of the local host, NOT the remote machine.
Thanks in advance for your help.