|
|
Question : a problem with rcmd and rexec routines
|
|
My linux application need a way of starting its remote server on the same platform. rcmd and rexec are for me the answer to the need, but then a problem arises.
For the rcmd I'm providing the necessary arguments perfectly : For a try on single machine using a looping TCP connection (i.e to 127.0.0.1 with localhost as the hostname). char **ahost; *host=(char *)malloc(30); strcpy(*host,"localhost"); rcmd(**ahost,514,"root","spy","mkdir new",0) The execution of this compiled version of these codes give as error message: Permission Dinied.
showing that The authentication failed.
for the case of rexec I try with a similar demo with port number 512 but this time the error message is -> :localhost.localdomain: connection refused. (which appears after a long waiting )
My question is : -------------- Is there some special configurations practices needed by the server (rshd and rexecd)of these two routines. Or is there any special way to use this two routines? If yes can u please tell me the minimum necessary requirements that must checked before having a successful usage of this two routines. steps
ahost,rport,locuser,ruser
|
Answer : a problem with rcmd and rexec routines
|
|
1. Forget about rcmd, rsh, rexec, rlogin, and even telnet. use ssh instead. Any decent Linux or UNIX distribution has it. You will have to use
system("ssh ruser@host remote command");
This normally requires you to enter a password. To avoid it generate with ssh-keygen a keypair, and install the public key on the remote machine and the private key on the machine starting ssh. See the ssh documentation for more details.
2. If you still insist on using the horribly insecure rcmd/rexec, make sure that rexec is enabled on the remote machine in /etc/inetd.conf, and is not filtered by the firewall. 3. Applications that start their servers on remote machines are a very bad habit.
---- Radu-Adrian Feurdean Brainbench Linux MVP
|
|
|
|
|