php - 通过 PHP SSH 连接到 Amazon EC2 实例

标签 php ssh amazon-ec2 phpseclib

尝试使用 .pem 文件、PHP 和 phpseclib 连接到 Amazon EC2 实例。

我已经尝试过这篇文章中提到的内容: ssh access to ec2 from php

但是,我不断收到“错误 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?

关于php - 通过 PHP SSH 连接到 Amazon EC2 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10678896/

相关文章:

linux - 亚马逊aws在数据传输过程中会花费一些费用吗?

php - 如何修复 Docker 上的 'Failed to fetch Debian Jessie-updates' 问题?

php - 寻找一个支持多种功能的开源PHP电子商务系统

android - 如何连接到 kivy-remote-shell?

shell - 当我使用ssh进入Sandbox时,只需在shell中键入hive,就可以在stderr中获得此输出

amazon-web-services - 用于 EC2 自动发现的 AWS 凭证

php - mysqli语句中的@变量

PHP 和 Nginx,突然在 SSL 上非常慢,但在 HTTP 上完美

amazon-web-services - 亚马逊 EC2 实例 : Server refused our key

amazon-web-services - 如何删除/停用当前 PEM 文件并在 AWS 中创建新文件?