📄 wrappers.ssh2.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title>Secure Shell 2</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body><div style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="wrappers.glob.html">Glob</a></div> <div class="next" style="text-align: right; float: right;"><a href="wrappers.audio.html">Audio Streams</a></div> <div class="up"><a href="wrappers.html">List of Supported Protocols/Wrappers</a></div> <div class="home"><a href="index.html">PHP Manual</a></div></div><hr /><div id="wrappers.ssh2" class="section"> <h2 class="title">Secure Shell 2</h2> <p class="simpara"> <var class="filename">ssh2.shell://</var> <var class="filename">ssh2.exec://</var> <var class="filename">ssh2.tunnel://</var> <var class="filename">ssh2.sftp://</var> <var class="filename">ssh2.scp://</var> PHP 4.3.0 and up (PECL) </p> <ul class="itemizedlist"> <li class="listitem"><span class="simpara"><var class="filename">ssh2.shell://user:pass@example.com:22/xterm</var></span></li> <li class="listitem"><span class="simpara"><var class="filename">ssh2.exec://user:pass@example.com:22/usr/local/bin/somecmd</var></span></li> <li class="listitem"><span class="simpara"><var class="filename">ssh2.tunnel://user:pass@example.com:22/192.168.0.1:14</var></span></li> <li class="listitem"><span class="simpara"><var class="filename">ssh2.sftp://user:pass@example.com:22/path/to/filename</var></span></li> </ul> <blockquote><p><b class="note">Note</b>: <b>This wrapper is not enabled by default</b><br /> <span class="simpara"> In order to use the <var class="filename">ssh2.*://</var> wrappers you must install the <a href="http://pecl.php.net/package/ssh2" class="link external">» SSH2</a> extension available from <a href="http://pecl.php.net/" class="link external">» PECL</a>. </span> </p></blockquote> <p class="simpara"> In addition to accepting traditional URI login details, the ssh2 wrappers will also reuse open connections by passing the connection resource in the host portion of the URL. </p> <div class="example"> <p><b>Example #1 Opening a stream from an active connection</b></p> <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br />$session </span><span style="color: #007700">= </span><span style="color: #0000BB">ssh2_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">'example.com'</span><span style="color: #007700">, </span><span style="color: #0000BB">22</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">ssh2_auth_pubkey_file</span><span style="color: #007700">(</span><span style="color: #0000BB">$session</span><span style="color: #007700">, </span><span style="color: #DD0000">'username'</span><span style="color: #007700">, </span><span style="color: #DD0000">'/home/username/.ssh/id_rsa.pub'</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'/home/username/.ssh/id_rsa'</span><span style="color: #007700">, </span><span style="color: #DD0000">'secret'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$stream </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">"ssh2.tunnel://$session/remote.example.com:1234"</span><span style="color: #007700">, </span><span style="color: #DD0000">'r'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span></span></code></div> </div> </div> <p class="para"> <table border="5"> <caption><b>Wrapper Summary</b></caption> <colgroup> <thead valign="middle"> <tr valign="middle"> <th colspan="1">Attribute</th> <th colspan="1">ssh2.shell</th> <th colspan="1">ssh2.exec</th> <th colspan="1">ssh2.tunnel</th> <th colspan="1">ssh2.sftp</th> <th colspan="1">ssh2.scp</th> </tr> </thead> <tbody valign="middle" class="tbody"> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">Restricted by <a href="filesystem.configuration.html#ini.allow-url-fopen" class="link">allow_url_fopen</a></td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">Yes</td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">Allows Reading</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">Yes</td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">Allows Writing</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">No</td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">Allows Appending</td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">Yes (When supported by server)</td> <td colspan="1" rowspan="1" align="left">No</td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">Allows Simultaneous Reading and Writing</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">No</td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">Supports <a href="function.stat.html" class="function">stat()</a></td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">No</td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">Supports <a href="function.unlink.html" class="function">unlink()</a></td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">No</td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">Supports <a href="function.rename.html" class="function">rename()</a></td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">No</td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">Supports <a href="function.mkdir.html" class="function">mkdir()</a></td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">No</td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">Supports <a href="function.rmdir.html" class="function">rmdir()</a></td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">No</td> <td colspan="1" rowspan="1" align="left">Yes</td> <td colspan="1" rowspan="1" align="left">No</td> </tr> </tbody> </colgroup> </table> </p> <p class="para"> <table border="5"> <caption><b>Context options</b></caption> <colgroup> <thead valign="middle"> <tr valign="middle"> <th colspan="1">Name</th> <th colspan="1">Usage</th> <th colspan="1">Default</th> </tr> </thead> <tbody valign="middle" class="tbody"> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>session</i></td> <td colspan="1" rowspan="1" align="left">Preconnected ssh2 resource to be reused</td> <td class="empty"> </td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>sftp</i></td> <td colspan="1" rowspan="1" align="left">Preallocated sftp resource to be reused</td> <td class="empty"> </td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>methods</i></td> <td colspan="1" rowspan="1" align="left">Key exchange, hostkey, cipher, compression, and MAC methods to use</td> <td class="empty"> </td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>callbacks</i></td> <td class="empty"> </td> <td class="empty"> </td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>username</i></td> <td colspan="1" rowspan="1" align="left">Username to connect as</td> <td class="empty"> </td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>password</i></td> <td colspan="1" rowspan="1" align="left">Password to use with password authentication</td> <td class="empty"> </td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>pubkey_file</i></td> <td colspan="1" rowspan="1" align="left">Name of public key file to use for authentication</td> <td class="empty"> </td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>privkey_file</i></td> <td colspan="1" rowspan="1" align="left">Name of private key file to use for authentication</td> <td class="empty"> </td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>env</i></td> <td colspan="1" rowspan="1" align="left">Associate array of environment variables to set</td> <td class="empty"> </td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>term</i></td> <td colspan="1" rowspan="1" align="left">Terminal emulation type to request when allocating a pty</td> <td class="empty"> </td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>term_width</i></td> <td colspan="1" rowspan="1" align="left">Width of terminal requested when allocating a pty</td> <td class="empty"> </td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>term_height</i></td> <td colspan="1" rowspan="1" align="left">Height of terminal requested when allocating a pty</td> <td class="empty"> </td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>term_units</i></td> <td colspan="1" rowspan="1" align="left">Units to use with term_width and term_height</td> <td colspan="1" rowspan="1" align="left"><b><tt>SSH2_TERM_UNIT_CHARS</tt></b></td> </tr> </tbody> </colgroup> </table> </p> </div><hr /><div style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="wrappers.glob.html">Glob</a></div> <div class="next" style="text-align: right; float: right;"><a href="wrappers.audio.html">Audio Streams</a></div> <div class="up"><a href="wrappers.html">List of Supported Protocols/Wrappers</a></div> <div class="home"><a href="index.html">PHP Manual</a></div></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -