2015-02-03 2 views
0

다음 작업을 수행하려고합니다.원격 Linux 서버에 액세스하여 bash 스크립트를 실행하는 PHP 스크립트

PHP는 원격 서버에서 쉘 명령을 실행하십시오. 이것은 내가 bash를 통해 스크립트를 설치할 수 있기를 원하기 때문에 PHP는 원격 서버에서 bash 스크립트를 실행할 것입니다.

어떤 이유로 원격 서버에 연결할 수 없다는 문제가 있습니다. 나는 이것을하기 위해 여러 가지 방법을 시도했으며 루트와 암호와 관련이있다. 나중에 내가 그들을 볼 수있는 암호화 또는 뭔가 그런,하지만 작동하지 않을 수 있도록 ssh 키를 사용할 수 없습니다. 나는 꽤 그것의 일부 PHP 서버에 새로 왔어 그래서 원격 서버에 연결하는 뜨거운 도움이 필요해.

내가 지금 노력하고 코드이 코드는 나에게 다음과 같은 오류를주고 몇 가지 이유를 들어

$ip = '37.130.000.00'; 
$user = 'admin'; 
$pass = 'xxxxxxxxx'; 

$connection = ssh2_connect($ip); 
ssh2_auth_password($connection,$user,$pass); 
$shell = ssh2_shell($connection,"uptime"); 


echo $shell; 

입니다

치명적인 오류 :

어떻게

에 정의되지 않은 함수 ssh2_connect()를 호출 이 작업을 수행하거나 리모트 서버에 올바르게 연결하기 위해 할 수있는 작업은 무엇입니까?이 방법으로 연결할 수 있어야하는 100 대의 서버에 대해 말하면서이 모든 것이 매우 유연해야합니다.

입력 해 주셔서 감사합니다.

답변

1

이 기능은 설치하지 않은 옵션 확장 프로그램에 의해 제공됩니다. 당신이 당신의 시스템에 libssh 및 기타 종속성이 제공,

sudo pecl install ssh2 channel://pecl.php.net/ssh2-0.11.3 

을 실행하여 PECL - ssh를 얻을 다음은 modphp를 사용하는 경우 PHP-FPM 또는 아파치를 다시 시작합니다.

편집 : BTW,이 질문은 전에 물어되었으며 가장 현명한 중 하나가 I가에 관해서 본 적이 조언한다 순수한 PHP 구현으로 전환하는 것이 었습니다, 어떠한 PECL 확장하지 : 내가 볼 php-function-ssh2-connect-is-not-working

+0

그래, 그게 내가 사용할 수없는 그런 것 같다. 거기에 PHP를 사용하여 원격 호스트에 연결하는 모든 종속성을 필요로하지 않는 다른 방법이 있습니까? – carlosx2

+0

제 에디션을 보시면 phpseclib가 있습니다. 바로 프로젝트에 넣고 바로 사용할 수 있습니다. – amenadiel

관련 문제