簡體   English   中英

從php訪問ec2的ssh

[英]ssh access to ec2 from php

從本地ubuntu linux機器通過ssh訪問連接ec2機器。

當我從終端運行這個PHP腳本時,它執行正常並在文件中寫入尾部條目。 當我從瀏覽器運行時在apache錯誤日志中得到此錯誤

ssh:無法解析主機名proxy2:名稱或服務未知

發現它由於apache用戶權限問題。 我的猜測是對還是錯,我不確定。 任何人都可以幫我解決這個問題。

php代碼: -

<?php

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

**終於找到了使用phpseclib的解決方案並解決了我的問題。 我建議phpseclib從php uing .pem文件連接amazon ec2機器,以幫助其他人分享我的示例代碼。

確保.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');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM