尝试使用 .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/