Phpseclib不能从Openshift工作,但可以从本地机器(外部Lan)工作

时间:2014-12-29 06:51:58

标签: ssh openshift ssh-keys openssh phpseclib

我在openshift-online上部署了我的代码。从那里我试图连接我的其他服务器(让我们说机器A在不同的网络上)我的脚本。 Machine-A在端口4444(Ubuntu 14.04)上运行openssh服务器:

<?php

error_reporting(E_ALL);
ini_set("display_errors", 1)

include("../vendor/autoload.php");
include('Net/SSH2.php');
include('Crypt/RSA.php');
define('NET_SSH2_LOGGING', NET_SSH2_LOG_SIMPLE);
$ssh = new Net_SSH2('mywebsite.redirectme.net', 4444);
$key = new Crypt_RSA();
$key->loadKey(file_get_contents('id_rsa'));
if (!$ssh->login('myusername', $key)) {
    echo $ssh->getLog();
    exit('Login Failed');

}

echo $ssh->exec('pwd');
echo $ssh->exec('whoami');
echo $ssh->getLog();
?>

但它始终返回Permission denied

/var/lib/openshift/849bc49*************/app-root/runtime/repo/ssh/test.php on line 5 Notice: Cannot connect to myusername.redirectme.net:4444. Error 13. Permission denied in /var/lib/openshift/849bc49*************/app-root/runtime/repo/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php on line 966
openshift上该目录上的

ls -l显示:

-rw-------. 1 849bc49************* 849bc49*************  887 Dec 28 02:05 id_rsa
-rw-------. 1 849bc49************* 849bc49*************  237 Dec 28 02:05 id_rsa.pub

首先我在机器B&amp ;;上复制了ssh密钥对。手动将其复制到计算机A上的~/.ssh/authorized-keys。然后我将整个文件夹(使用rsa-keys和脚本)推送到openshift。

我可以使用相同的代码从机器B(在不同的netwok ...而不是localhost)上连接而没有任何问题。所以我猜测它不是真正的phpseclib或ssh-keys权限的问题。

Openshift(在线)本身是否会施加一些限制?我做错了什么?

0 个答案:

没有答案