1
我目前對我的webapp使用Codeigniter。我想通過SSH連接到EC2實例並以ec2-user身份運行一組腳本。 PHPsecLib的問題在於它不會以sudo模式運行命令。任何提示爲此?我已經廣泛地嘗試了$ ssh-> exec。但駐留在服務器上的bash腳本無法執行。有沒有更好的方法來運行駐留在服務器上的bash腳本?使用PHP配置EC2實例
我目前對我的webapp使用Codeigniter。我想通過SSH連接到EC2實例並以ec2-user身份運行一組腳本。 PHPsecLib的問題在於它不會以sudo模式運行命令。任何提示爲此?我已經廣泛地嘗試了$ ssh-> exec。但駐留在服務器上的bash腳本無法執行。有沒有更好的方法來運行駐留在服務器上的bash腳本?使用PHP配置EC2實例
的phpseclib文檔說說如何使用sudo與phpseclib:
http://phpseclib.sourceforge.net/ssh/examples.html#sudo,
代碼:
<?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]:~$');
}
?>