Ethen
Ethen

Reputation: 171

Connection from one EC2 instance to another EC2 instance using phpseclib

Hi I am using HANA on one EC2 and using by PHP which is already there in SUSE Linux to fetch the data from other Instance. The same code is working fine when i am trying t fetch data from my local system. But it is not working there neither it is showing any error. Please help. Here is my code:

error_reporting(1);
set_time_limit(0);
$date = date("d/m/Y-h:i:s") . "\n"; //to get today's date and time                  
$logfile = "file-transfer";
$fpath ="log/";
$filepath = $fpath .$logfile . '-log-' . date('Y-m-d') . '.csv';  //path of error log file
$fh1 = fopen($filepath, 'a'); //opening the error log file 
fwrite($fh1, "Process Started@" .$date. "\n");

include('Net/SFTP.php');
include('Crypt/RSA.php');

$key = new Crypt_RSA();

$key->loadKey(file_get_contents('key/private.ppk'));

$local_directory = 'sap/';

$remote_directory = '/var/www/';
$file = 'index.html';

$sftp = new Net_SFTP('ec2-XX-XXX-CCC-XX.ap-southeast-1.compute.amazonaws.com');
if (!$sftp->login('ubuntu', $key)) {    
    fwrite($fh1, "Login Failed" .$date. "\n");
}
else{

    fwrite($fh1, "Login Successful@" .$date. "\n");
}


 //$success = $sftp->put($remote_directory . $file,$local_directory . $file,NET_SFTP_LOCAL_FILE);
 $success = $sftp->get($remote_directory . $file,$local_directory . $file);
if($success){
     fwrite($fh1, "File Transferred Successfully@" .$date. "\n");
}
else{
    fwrite($fh1, "Error:" .$date.error_get_last(). "\n");

}

Erroneously when i put wrong host name it throw Login failed message. But When i put the correct host name it is not working.

Upvotes: 0

Views: 421

Answers (1)

If you are using VPC for your networks inside AWS you need to open the ports in the Security Group so the EC2 instances in the same security group see and can access each other.

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html

Upvotes: 2

Related Questions