2014-04-21 5 views
1

J'utilise actuellement Codeigniter pour ma webapp. Je voudrais SSH dans une instance EC2 et exécuter un ensemble de scripts en tant qu'utilisateur ec2. Le problème avec PHPsecLib est qu'il n'exécute pas de commandes en mode sudo. Des conseils pour cela? J'ai essayé le $ ssh-> exec largement. mais mon script bash qui réside sur le serveur ne parvient pas à s'exécuter. Existe-t-il une meilleure façon d'exécuter un script bash qui réside sur le serveur?Configuration d'une instance EC2 en utilisant PHP

Répondre

2

Les phpseclib docs parlent de la façon d'utiliser sudo phpseclib:

http://phpseclib.sourceforge.net/ssh/examples.html#sudo,

Le code:

<?php 
include('Net/SSH2.php'); 

$ssh = new Net_SSH2('www.domain.tld'); 
if (!$ssh->login('username', 'password')) { 
    exit('Login Failed'); 
} 

echo $ssh->read('[email protected]:~$'); 
$ssh->write("sudo ls -la\n"); 
$output = $ssh->read('#[pP]assword[^:]*:|[email protected]:~\$#', NET_SSH2_READ_REGEX); 
echo $output; 
if (preg_match('#[pP]assword[^:]*:#', $output)) { 
    $ssh->write("password\n"); 
    echo $ssh->read('[email protected]:~$'); 
} 
?> 
Questions connexes