ssh2_tunnel

(PECL ssh2 >= 0.9.0)

ssh2_tunnelリモートサーバーを経由するトンネルをオープンする

説明

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

現在接続している SSH サーバーを経由して、 任意のホスト/ポートへのソケットストリームをオープンします。

パラメータ

session

ssh2_connect() のコールによって取得した SSH 接続リンク ID。

host

port

返り値

例1 任意のホストへのトンネルのオープン

<?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_connect() - SSH サーバーに接続する
  • fsockopen() - インターネット接続もしくは Unix ドメインソケット接続をオープンする

add a note add a note

User Contributed Notes 1 note

up
1
marc
4 years ago
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.
To Top