Как подключиться к серверу Amazon EC2 с помощью PHP и SSH - PullRequest
0 голосов
/ 04 ноября 2019

Я не могу подключиться к Amazon EC2 с помощью pem-файла, используя PHP

$pemFile = file_get_contents($this->_pemFileLocation);

$out = "";
$key_private = openssl_pkey_export($pemFile, $out);

Мне нужно подключиться и получить объект подключения, возвращаемый с ssh2_auth_pubkey_file(), поэтому я могу запускать команды терминала, наэкземпляр Amazon EC2 или любой другой сервер, использующий файл pem.

1 Ответ

1 голос
/ 05 ноября 2019

Нашел решение, используя phpseclib http://phpseclib.sourceforge.net/

$key = new \phpseclib\Crypt\RSA();

$key->loadKey(file_get_contents("key.pem"));

$ssh = new \phpseclib\Net\SSH2("18.191.164.167");

/* ubuntu is the username used by amazon ec2 */
if (!$ssh->login("ubuntu", $key)) {
   throw new \Exception('Login Failed', E_WARNING);
}else{
    /* run a command and get the results as a string */
    var_dump($ssh->exec("ping davidclews.com"));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...