(PECL ssh2 >= 0.9.0)
ssh2_tunnel — Open a tunnel through a remote server
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);
?>
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.