簡體   English   中英

通過PHP連接到Amazon EC2實例的SSH連接

[英]SSH Connection to Amazon EC2 Instance Via PHP

嘗試使用.pem文件,PHP和phpseclib連接到Amazon EC2實例。

我已經嘗試過這篇文章中提到的內容: 從php訪問ec2的ssh

但是,我一直收到“錯誤111.連接被拒絕......”

當我使用ssh和相同的.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');
}

我剛剛測試了提供的示例代碼,它適用於我的Amazon EC2 Ubuntu實例。

你必須檢查明顯的建議:

  • 主機名
  • 用戶名
  • PEM文件路徑

他們是對的嗎? 您確定使用的是從自己的機器連接時使用的相同設備嗎?

如果它們相同,您是否在同一台機器上測試代碼? 如果沒有,運行代碼的主機是否為端口連接打開了端口22?

要檢查的明顯事項是,端口是否打開並允許您的用戶使用?

試着做:

wget ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com:22

從給你麻煩的機器,看看你是否可以打開插座。

我猜你可能需要通過PHP使用shell_exec()來運行該命令,以確保它被相同的用戶/安全設置調用。

暫無
暫無

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

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