ssh2_tunnel

(PECL ssh2 >= 0.9.0)

ssh2_tunnelOpen a tunnel through a remote server

说明

ssh2_tunnel ( resource $session , string $host , int $port ) : resource

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);
?>

参见

User Contributed Notes

marc 26-Aug-2015 07:28
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.