Учитывая PHP 7.2, расширение php ssh2 и Ubuntu 18.04.1 LTS. Я хочу общаться с сервером IMAP через сервер SSH.
Прямое соединение:
$stream = fsockopen('ssl://imap.gmail.com', 993);
for($i = 0; $i<=5; $i++){
var_dump(fgets($stream));
sleep(2);
}
Результат:
"* OK Gimap ready for requests from 178.150.167.73 u11mb208610367lfc
"
Соединение через ssh:
$ssh_conn = ssh2_connect($sshIp, $sshPort);
if ($ssh_conn && ssh2_auth_password($ssh_conn, $sshUsername, $sshPassword)) {
$stream = ssh2_tunnel($ssh_conn, 'imap.gmail.com', 993);
for ($i = 0; $i <= 5; $i++) {
var_dump(fgets($stream));
sleep(2);
}
}
Выход:
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
Ssh сервер 100% работает. Я попробовал это с другими инструментами, включая дополнительное расширение php для imap через ssh. Но мне нужно использовать именно этот прямой путь.