Files
doc-fr/language/wrappers/ssh2.xml
2019-03-24 20:56:18 +00:00

303 lines
9.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: af6fdf16ab44bcf4d045407963e43c3d9dd2ff29 Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="wrappers.ssh2" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" role="noversion">
<refnamediv>
<refname>ssh2://</refname>
<refpurpose>Shell sécurisé 2</refpurpose>
</refnamediv>
<refsect1 role="description"><!-- {{{ -->
&reftitle.description;
<para>
<filename>ssh2.shell://</filename>
<filename>ssh2.exec://</filename>
<filename>ssh2.tunnel://</filename>
<filename>ssh2.sftp://</filename>
<filename>ssh2.scp://</filename>
(PECL)
</para>
<note>
<title>Ce gestionnaire n'est pas activé par défaut</title>
<simpara>
Pour utiliser les gestionnaires <filename>ssh2.*://</filename>, vous devez installer
l'extension <link xlink:href="&url.pecl.package;ssh2">SSH2</link> disponible
via <link xlink:href="&url.pecl;">PECL</link>.
</simpara>
</note>
<simpara>
En plus d'accepter les identifications traditionnelles via l'URI, le gestionnaire ssh2
réutilisera les connexions ouvertes en passant la ressource de connexion
dans la partie hôte de l'URL.
</simpara>
</refsect1><!-- }}} -->
<refsect1 role="usage"> <!-- {{{ -->
&reftitle.usage;
<itemizedlist>
<listitem><simpara><filename>ssh2.shell://user:pass@example.com:22/xterm</filename></simpara></listitem>
<listitem><simpara><filename>ssh2.exec://user:pass@example.com:22/usr/local/bin/somecmd</filename></simpara></listitem>
<listitem><simpara><filename>ssh2.tunnel://user:pass@example.com:22/192.168.0.1:14</filename></simpara></listitem>
<listitem><simpara><filename>ssh2.sftp://user:pass@example.com:22/path/to/filename</filename></simpara></listitem>
</itemizedlist>
</refsect1> <!-- }}} -->
<refsect1 role="options"><!-- {{{ -->
&reftitle.options;
<para>
<table>
<title>Résumé du gestionnaire</title>
<tgroup cols="6">
<thead>
<row>
<entry>Attribut</entry>
<entry>ssh2.shell</entry>
<entry>ssh2.exec</entry>
<entry>ssh2.tunnel</entry>
<entry>ssh2.sftp</entry>
<entry>ssh2.scp</entry>
</row>
</thead>
<tbody>
<row>
<entry>Restreint par <link linkend="ini.allow-url-fopen">allow_url_fopen</link></entry>
<entry>Oui</entry>
<entry>Oui</entry>
<entry>Oui</entry>
<entry>Oui</entry>
<entry>Oui</entry>
</row>
<row>
<entry>Autorise la lecture</entry>
<entry>Oui</entry>
<entry>Oui</entry>
<entry>Oui</entry>
<entry>Oui</entry>
<entry>Oui</entry>
</row>
<row>
<entry>Autorise l'écriture</entry>
<entry>Oui</entry>
<entry>Oui</entry>
<entry>Oui</entry>
<entry>Oui</entry>
<entry>Non</entry>
</row>
<row>
<entry>Autorise l'ajout</entry>
<entry>Non</entry>
<entry>Non</entry>
<entry>Non</entry>
<entry>Oui (lorsque supporté par le serveur)</entry>
<entry>Non</entry>
</row>
<row>
<entry>Autorise la lecture et l'écriture simultanément</entry>
<entry>Oui</entry>
<entry>Oui</entry>
<entry>Oui</entry>
<entry>Oui</entry>
<entry>Non</entry>
</row>
<row>
<entry>Support de la fonction <function>stat</function></entry>
<entry>Non</entry>
<entry>Non</entry>
<entry>Non</entry>
<entry>Oui</entry>
<entry>Non</entry>
</row>
<row>
<entry>Support de la fonction <function>unlink</function></entry>
<entry>Non</entry>
<entry>Non</entry>
<entry>Non</entry>
<entry>Oui</entry>
<entry>Non</entry>
</row>
<row>
<entry>Support de la fonction <function>rename</function></entry>
<entry>Non</entry>
<entry>Non</entry>
<entry>Non</entry>
<entry>Oui</entry>
<entry>Non</entry>
</row>
<row>
<entry>Support de la fonction <function>mkdir</function></entry>
<entry>Non</entry>
<entry>Non</entry>
<entry>Non</entry>
<entry>Oui</entry>
<entry>Non</entry>
</row>
<row>
<entry>Support de la fonction <function>rmdir</function></entry>
<entry>Non</entry>
<entry>Non</entry>
<entry>Non</entry>
<entry>Oui</entry>
<entry>Non</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<!-- FIXME: This should be context.ssh2!!! -->
<para>
<table>
<title>Options de contexte</title>
<tgroup cols="3">
<thead>
<row>
<entry>Nom</entry>
<entry>Utilisation</entry>
<entry>Défaut</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>session</literal></entry>
<entry>ressource ssh2 pré-connectée à réutiliser</entry>
<entry/>
</row>
<row>
<entry><literal>sftp</literal></entry>
<entry>ressource sftp pré-allouée à réutiliser</entry>
<entry/>
</row>
<row>
<entry><literal>methods</literal></entry>
<entry>méthodes d'échange de clés, hostkey, cipher, compression, et MAC, à utiliser</entry>
<entry/>
</row>
<row>
<entry><literal>callbacks</literal></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry><literal>username</literal></entry>
<entry>Nom de l'utilisateur pour la connexion</entry>
<entry></entry>
</row>
<row>
<entry><literal>password</literal></entry>
<entry>Mot de passe à utiliser lors d'une identification par mot de passe</entry>
<entry></entry>
</row>
<row>
<entry><literal>pubkey_file</literal></entry>
<entry>Nom du fichier contenant la clé publique à utiliser lors de l'identification</entry>
<entry></entry>
</row>
<row>
<entry><literal>privkey_file</literal></entry>
<entry>Nom du fichier contenant la clé privée à utiliser lors de l'identification</entry>
<entry></entry>
</row>
<row>
<entry><literal>env</literal></entry>
<entry>Tableau associatif de variables d'environnement à définir</entry>
<entry></entry>
</row>
<row>
<entry><literal>term</literal></entry>
<entry>Type d'émulation de terminal à demander lors de l'allocation d'un pty</entry>
<entry></entry>
</row>
<row>
<entry><literal>term_width</literal></entry>
<entry>Largeur du terminal à demander lors de l'allocation d'un pty</entry>
<entry></entry>
</row>
<row>
<entry><literal>term_height</literal></entry>
<entry>Hauteur du terminal à demander lors de l'allocation d'un pty</entry>
<entry></entry>
</row>
<row>
<entry><literal>term_units</literal></entry>
<entry>Unités à utiliser avec term_width et term_height</entry>
<entry><constant>SSH2_TERM_UNIT_CHARS</constant></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</refsect1> <!-- }}} -->
<refsect1 role="examples"><!-- {{{ -->
&reftitle.examples;
<example>
<title>Ouverture d'un flux depuis une connexion active</title>
<programlisting role="php">
<![CDATA[
<?php
$session = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
'/home/username/.ssh/id_rsa', 'secret');
$stream = fopen("ssh2.tunnel://$session/remote.example.com:1234", 'r');
?>
]]>
</programlisting>
</example>
<example>
<title>La variable <varname>$session</varname> doit rester disponible !</title>
<simpara>
Afin d'utiliser le gestionnaire <filename>ssh2.*://$session</filename>, vous
devez conserver la variable de ressource <varname>$session</varname> disponible.
Le code ci-dessous n'aura pas l'effet escompté :
</simpara>
<programlisting role="php">
<![CDATA[
<?php
$session = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
'/home/username/.ssh/id_rsa', 'secret');
$connection_string = "ssh2.sftp://$session/";
unset($session);
$stream = fopen($connection_string . "path/to/file", 'r');
?>
]]>
</programlisting>
<simpara>
La fonction unset() clôt la session, car la variable <varname>$connection_string</varname>
ne contient pas de référence à la variable <varname>$session</varname>, mais uniquement
une chaîne dérivée. Ceci survient également lorsque la fonction
<function>unset</function> est implicite, lors d'une sortie du scope (comme dans une
fonction).
</simpara>
</example>
</refsect1><!-- }}} -->
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->