Я пытаюсь открыть SSH-соединение между двумя серверами во время выполнения скрипта с использованием PHP SSH2 и получить где-то информацию от http://kvz.io/blog/2007/07/24/make-ssh-connections-with-php/. Тем не менее, используя следующий код, я продолжаю не аутентифицироваться. Кажется, что два сервера обмениваются данными, но просто не аутентифицируются, так как я получаю сообщение «fail: not authenticate». Я могу легко подключиться с помощью терминала веб-сервера напрямую, используя ту же информацию. Ценности являются общими по очевидным причинам. Если это что-то значит, SSH-сервер - это Mac, работающий с Mountain Lion (он запускает виртуальные машины OS X), а веб-сервер запускает Ubuntu 12.04.Проблемы с аутентификацией с помощью php ssh2
<?php
if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist");
if(!($con = ssh2_connect('192.168.0.1', 22))){
echo "fail: unable to establish connection\n";
} else {
if(!ssh2_auth_password($con, 'myusername', 'mysecretpassword')) {
echo "fail: unable to authenticate\n";
} else {
echo "okay: logged in...\n";
// execute a command
if (!($stream = ssh2_exec($con, "mysshcommand"))) {
echo "fail: unable to execute command\n";
} else {
stream_set_blocking($stream, true);
$data = "";
while ($buf = fread($stream,4096)) {
$data .= $buf;
}
fclose($stream);
}
}
}
?>