<?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 => 'es',
  ),
  'this' => 
  array (
    0 => 'function.ssh2-auth-pubkey.php',
    1 => 'ssh2_auth_pubkey',
    2 => 'Identificaci&oacute;n utilizando una clave p&uacute;blica en una variable',
  ),
  'up' => 
  array (
    0 => 'ref.ssh2.php',
    1 => 'Funciones de SSH2',
  ),
  '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' => 'es',
    '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">Identificación utilizando una clave pública en una variable</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.ssh2-auth-pubkey-description">
  <h3 class="title">Descripción</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">
   Identificación utilizando una clave pública en una variable.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.ssh2-auth-pubkey-parameters">
  <h3 class="title">Parámetros</h3>
  <dl>
   
    <dt><code class="parameter">session</code></dt>
    <dd>
     <span class="simpara">
      Un identificador de conexión SSH, obtenido desde la función
      <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">
       Nombre del usuario para autenticarse en el servidor remoto.
     </span>
    </dd>
   
   
    <dt><code class="parameter">pubkey</code></dt>
    <dd>
     <span class="simpara">
      Clave pública en formato OpenSSH. Debe parecerse a esto:
      <code class="literal">ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110</code>
     </span>
    </dd>
   
   
    <dt><code class="parameter">privkey</code></dt>
    <dd>
     <span class="simpara">
      Clave privada OpenSSH. Debe comenzar con:
      <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á cifrado (y debe estarlo),
      la frase de paso debe ser proporcionada.
     </span>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.ssh2-auth-pubkey-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="simpara">
   Esta función retorna <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> en caso de éxito o <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si ocurre un error.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.ssh2-auth-pubkey-examples">
  <h3 class="title">Ejemplos</h3>
  <div class="example" id="example-1">
   <p><strong>Ejemplo #1 Identificación utilizando una clave pública</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">"Public Key Authentication Successful\n"</span><span style="color: #007700">;<br />} else {<br />  die(</span><span style="color: #DD0000">'Public Key Authentication Failed'</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">Notas</h3>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <span class="simpara">
    La biblioteca libssh subyacente no soporta muy limpiamente las
    autenticaciones parciales. Es decir, que si debe proporcionar a la
    vez una clave pública y una contraseña, entonces parecerá como si
    la función estuviera en error. En este caso particular, un error en esta
    llamada puede simplemente significar que la autenticación no está aún terminada.
    Debe ignorar este error y continuar con la llamada
    <span class="function"><a href="function.ssh2-auth-password.php" class="function">ssh2_auth_password()</a></span> para terminar la autenticación.
   </span>
  </p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.ssh2-auth-pubkey-seealso">
  <h3 class="title">Ver también</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> - Identificaci&oacute;n utilizando una clave p&uacute;blica</span></li>
  </ul>
 </div>


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