©
This document uses PHP Chinese website manual Release
(PECL ssh2 >= 0.9.0)
ssh2_tunnel — Open a tunnel through a remote server
$session
, string $host
, int $port
)Open a socket stream to an arbitrary host/port by way of the currently connected SSH server.
session
An SSH connection link identifier, obtained from a call to ssh2_connect() .
host
port
Example #1 Opening a tunnel to an arbitrary host
<?php
$connection = ssh2_connect ( 'shell.example.com' , 22 );
ssh2_auth_pubkey_file ( $connection , 'username' , 'id_dsa.pub' , 'id_dsa' );
$tunnel = ssh2_tunnel ( $connection , '10.0.0.101' , 12345 );
?>
[#1] marc [2015-08-26 19:28:53]
ssh2_tunnel returns a socket stream (e.g, the output of fsockopen). You can use something basic like this to send a line break and get any output back to test that it's working:
fwrite($tunnel, "\n");
while (!feof($tunnel)) {
echo fgets($tunnel, 128);
}
Just a reminder: you can't currently use the socket with any of the cURL functions.