SSH доступ к EC2 из PHP - PullRequest
       16

SSH доступ к EC2 из PHP

0 голосов
/ 28 декабря 2011

С локальной машины Ubuntu Linux, соединяющей машину EC2 через SSH-доступ.

когда я запускаю этот скрипт php из терминала, он выполняется нормально и записывает записи в файл.при запуске из браузера эта ошибка появляется в журнале ошибок apache

ssh: не удается разрешить имя хоста proxy2: имя или служба не известны

Обнаружена ошибка из-за разрешения пользователя apacheпроблема.верно ли мое предположение или нет, я не уверен.Любой помогает мне решить эту проблему.

php код: -

<?php

$ss = 'ssh proxy2 '.'tail -n 3 /out/speed_log.txt.1'.' > proxy2temp1';
system($ss);
?>

1 Ответ

1 голос
/ 02 января 2012

** Наконец-то нашел решение с помощью phpseclib и решил мою проблему. Я рекомендую phpseclib подключать машины amazon ec2 из php-файла .pem, чтобы другие могли поделиться моим примером кода.

убедитесь, что файлу .pem требуется разрешение на чтение **

пример кода:

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

$key = new Crypt_RSA();

$key->loadKey(file_get_contents('/pathtokey.pem'));


$ssh = new Net_SSH2('ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com');
if (!$ssh->login('user', $key)) {
exit('Login Failed');
}

echo $ssh->exec('tail -n 3 /out/_log.txt.1');
...