<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.ssh2.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'function.ssh2-auth-pubkey.php',
    1 => 'ssh2_auth_pubkey',
    2 => 'Identification en utilisant une cl&eacute; publique depuis une variable',
  ),
  'up' => 
  array (
    0 => 'ref.ssh2.php',
    1 => 'Fonctions Shell2',
  ),
  'prev' => 
  array (
    0 => 'function.ssh2-auth-password.php',
    1 => 'ssh2_auth_password',
  ),
  'next' => 
  array (
    0 => 'function.ssh2-auth-pubkey-file.php',
    1 => 'ssh2_auth_pubkey_file',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/ssh2/functions/ssh2-auth-pubkey.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.ssh2-auth-pubkey" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">ssh2_auth_pubkey</h1>
  <p class="verinfo">(PECL ssh2 &gt;= 1.4.0)</p><p class="refpurpose"><span class="refname">ssh2_auth_pubkey</span> &mdash; <span class="dc-title">Identification en utilisant une clé publique depuis une variable</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.ssh2-auth-pubkey-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>ssh2_auth_pubkey</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> <code class="parameter">$session</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$username</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$pubkey</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$privkey</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$passphrase</code><span class="initializer"> = ?</span></span><br>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

  <p class="simpara">
   Identification en utilisant une clé publique depuis une variable.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.ssh2-auth-pubkey-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <dl>
   
    <dt><code class="parameter">session</code></dt>
    <dd>
     <span class="simpara">
      Un identifiant de connexion SSH, obtenu depuis la fonction
      <span class="function"><a href="function.ssh2-connect.php" class="function">ssh2_connect()</a></span>.
     </span>
    </dd>
   
   
    <dt><code class="parameter">username</code></dt>
    <dd>
     <span class="simpara">
       Nom de l&#039;utilisateur à authentifier sur le serveur distant.
     </span>
    </dd>
   
   
    <dt><code class="parameter">pubkey</code></dt>
    <dd>
     <span class="simpara">
      La clé publique au format OpenSSH. Elle devrait ressembler à ceci :
      <code class="literal">ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110</code>
     </span>
    </dd>
   
   
    <dt><code class="parameter">privkey</code></dt>
    <dd>
     <span class="simpara">
      La clé privée au format OpenSSH. Elle devrait commencer par :
      <code class="literal">-----BEGIN RSA PRIVATE KEY-----</code>
     </span>
    </dd>
   
   
    <dt><code class="parameter">passphrase</code></dt>
    <dd>
     <span class="simpara">
      Si <code class="parameter">privkey</code> est chiffré (et devrait l&#039;être),
      la passe-phrase doit être fournie.
     </span>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.ssh2-auth-pubkey-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="simpara">
   Cette fonction retourne <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> en cas de succès ou <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si une erreur survient.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.ssh2-auth-pubkey-examples">
  <h3 class="title">Exemples</h3>
  <div class="example" id="example-1">
   <p><strong>Exemple #1 Identification en utilisant une clé publique</strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$connection </span><span style="color: #007700">= </span><span style="color: #0000BB">ssh2_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">'shell.example.com'</span><span style="color: #007700">, </span><span style="color: #0000BB">22</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'hostkey'</span><span style="color: #007700">=&gt;</span><span style="color: #DD0000">'ssh-rsa'</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$publicKey </span><span style="color: #007700">= </span><span style="color: #0000BB">file_get_contents</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: #0000BB">$privateKey </span><span style="color: #007700">= </span><span style="color: #0000BB">file_get_contents</span><span style="color: #007700">(</span><span style="color: #DD0000">'/home/username/.ssh/id_rsa'</span><span style="color: #007700">);<br /><br />if (</span><span style="color: #0000BB">ssh2_auth_pubkey</span><span style="color: #007700">(</span><span style="color: #0000BB">$connection</span><span style="color: #007700">, </span><span style="color: #DD0000">'username'</span><span style="color: #007700">,<br />                     </span><span style="color: #0000BB">$publicKey</span><span style="color: #007700">,<br />                     </span><span style="color: #0000BB">$privateKey</span><span style="color: #007700">, </span><span style="color: #DD0000">'secret'</span><span style="color: #007700">)) {<br />  echo </span><span style="color: #DD0000">"Identification réussie en utilisant une clé publique\n"</span><span style="color: #007700">;<br />} else {<br />  die(</span><span style="color: #DD0000">'Échec de l\'identification en utilisant une clé publique'</span><span style="color: #007700">);<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
 </div>


 <div class="refsect1 notes" id="refsect1-function.ssh2-auth-pubkey-notes">
  <h3 class="title">Notes</h3>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <span class="simpara">
    La bibliothèque libssh sous-jacente ne supporte pas très proprement les
    authentifications partielles.
    C&#039;est-à-dire que si l&#039;on doit fournir à la
    fois une clé publique et un mot de passe alors cela apparaitra comme si
    la fonction est en erreur. Dans ce cas particulier, une erreur sur cet
    appel peut juste signifier que l&#039;authentification n&#039;est pas encore terminée.
    Il faut ignorer cette erreur et continuer avec l&#039;appel
    <span class="function"><a href="function.ssh2-auth-password.php" class="function">ssh2_auth_password()</a></span> pour terminer l&#039;authentification.
   </span>
  </p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.ssh2-auth-pubkey-seealso">
  <h3 class="title">Voir aussi</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="function.ssh2-auth-pubkey-file.php" class="function" rel="rdfs-seeAlso">ssh2_auth_pubkey_file()</a> - Identification en utilisant une cl&eacute; publique lue depuis un fichier</span></li>
  </ul>
 </div>


</div><?php manual_footer($setup); ?>