=========== =============== ===============
apache2 server ====> remote server A =====> remote server B
=========== =============== ===============
Я хочу получить доступ к удаленному серверу B с сервера apache2 через удаленный сервер A, поскольку удаленный сервер B принимает подключение только от сервера A (хост перехода).
Я искал в Google и на этом сайте, но все еще не повезло. Я пытаюсь с помощью скрипта ниже подключиться к серверу B с сервера apache2, но вывод результатов не отображается.
Что я пропустил?
<?php
$host = "192.168.xx.xxx";
$port = 22;
$username = "serverA";
$password = "serverApass";
$connection = NULL;
$passSvr = "serverBpass";
$SvrBUser = "serverB";
$SvrBHost = "192.168.xx.xxx";
try {
$connection = ssh2_connect($host, $port);
if(!$connection){
throw new \Exception("Could not connect to $host on port $port");
}
$auth = ssh2_auth_password($connection, $username, $password);
if(!$auth){
throw new \Exception("Could not authenticate with username $username and password ");
}
if($connection){
$contents = ssh2_exec($connection, "sshpass -p '{$passSvr}' ssh $SvrBUser@$SvrBHost ls -al");
stream_set_blocking($contents, true);
$output = ssh2_fetch_stream($contents, SSH2_STREAM_STDIO);
echo stream_get_contents($output);
}
} catch (Exception $e) {
echo "Error due to :".$e->getMessage();
}
?>