00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 function do_ssh($host, $user, $password, $command)
00030 {
00031 umask(0077);
00032 $tmpfname = tempnam("/tmp", "egTinker");
00033 chmod($tmpfname, 0700);
00034 $fp = fopen($tmpfname, "w");
00035 fputs($fp, "#!/bin/sh\necho $password\n");
00036 fclose($fp);
00037 putenv("DISPLAY=none:0.");
00038 putenv("SSH_ASKPASS=$tmpfname");
00039 system("ssh -x -t -t $host -l$user $command");
00040 unlink($tmpfname);
00041 }
00042
00043
00044
00045
00046 function do_scp($origin, $destination, $password)
00047 {
00048 umask(0077);
00049 $tmpfname = tempnam("/tmp", "ssh");
00050 chmod($tmpfname, 0700);
00051 $fp = fopen($tmpfname, "w");
00052 fputs($fp, "#!/bin/sh\necho $password\n");
00053 fclose($fp);
00054 putenv("DISPLAY=none:0.");
00055 putenv("SSH_ASKPASS=$tmpfname");
00056 system("scp -pqrC $origin $destination &");
00057 unlink($tmpfname);
00058 }
00059
00060 do_ssh("example.com", "user", "example.com", "ls");
00061
00062 do_scp("SSH", "user@example.com:.", "password");
00063
00064 do_ssh("example.com", "user", "password", "ls");
00065 do_ssh("example.com", "user", "password", "ls SSH");
00066
00067
00068 ?>