<?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 => 'en',
  ),
  'this' => 
  array (
    0 => 'function.ssh2-publickey-add.php',
    1 => 'ssh2_publickey_add',
    2 => 'Add an authorized publickey',
  ),
  'up' => 
  array (
    0 => 'ref.ssh2.php',
    1 => 'SSH2 Functions',
  ),
  'prev' => 
  array (
    0 => 'function.ssh2-poll.php',
    1 => 'ssh2_poll',
  ),
  'next' => 
  array (
    0 => 'function.ssh2-publickey-init.php',
    1 => 'ssh2_publickey_init',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'reference/ssh2/functions/ssh2-publickey-add.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.ssh2-publickey-add" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">ssh2_publickey_add</h1>
  <p class="verinfo">(PECL ssh2 &gt;= 0.10)</p><p class="refpurpose"><span class="refname">ssh2_publickey_add</span> &mdash; <span class="dc-title">
   Add an authorized publickey
  </span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.ssh2-publickey-add-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>ssh2_publickey_add</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">$pkey</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">$algoname</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">$blob</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> <code class="parameter">$overwrite</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong></span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$attributes</code><span class="initializer"> = ?</span></span><br>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>


  <blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara">The public key subsystem
is used for managing public keys on a server to which the client is
<em>already</em> authenticated.  To authenticate to a remote system
using public key authentication, use the
<span class="function"><a href="function.ssh2-auth-pubkey-file.php" class="function">ssh2_auth_pubkey_file()</a></span> function instead.</span></p></blockquote>

 </div>


 <div class="refsect1 parameters" id="refsect1-function.ssh2-publickey-add-parameters">
  <h3 class="title">Parameters</h3>
  <dl>
   
    <dt><code class="parameter">pkey</code></dt>
    <dd>
     <span class="simpara">
      Publickey Subsystem resource created by <span class="function"><a href="function.ssh2-publickey-init.php" class="function">ssh2_publickey_init()</a></span>.
     </span>
    </dd>
   
   
    <dt><code class="parameter">algoname</code></dt>
    <dd>
     <span class="simpara">
      Publickey algorithm (e.g.): ssh-dss, ssh-rsa
     </span>
    </dd>
   
   
    <dt><code class="parameter">blob</code></dt>
    <dd>
     <span class="simpara">
      Publickey blob as raw binary data
     </span>
    </dd>
   
   
    <dt><code class="parameter">overwrite</code></dt>
    <dd>
     <span class="simpara">
      If the specified key already exists, should it be overwritten?
     </span>
    </dd>
   
   
    <dt><code class="parameter">attributes</code></dt>
    <dd>
     <span class="simpara">
      Associative array of attributes to assign to this public key.
      Refer to ietf-secsh-publickey-subsystem for a list of supported attributes.
      To mark an attribute as mandatory, precede its name with an asterisk.
      If the server is unable to support an attribute marked mandatory,
      it will abort the add process.
     </span>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.ssh2-publickey-add-returnvalues">
  <h3 class="title">Return Values</h3>
  <p class="simpara">
   Returns <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> on success or <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> on failure.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.ssh2-publickey-add-examples">
  <h3 class="title">Examples</h3>
  <div class="example" id="example-1">
   <p><strong>Example #1 Adding a publickey with <span class="function"><strong>ssh2_publickey_add()</strong></span></strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$ssh2 </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">);<br /></span><span style="color: #0000BB">ssh2_auth_password</span><span style="color: #007700">(</span><span style="color: #0000BB">$ssh2</span><span style="color: #007700">, </span><span style="color: #DD0000">'jdoe'</span><span style="color: #007700">, </span><span style="color: #DD0000">'password'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$pkey </span><span style="color: #007700">= </span><span style="color: #0000BB">ssh2_publickey_init</span><span style="color: #007700">(</span><span style="color: #0000BB">$ssh2</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$keyblob </span><span style="color: #007700">= </span><span style="color: #0000BB">base64_decode</span><span style="color: #007700">(</span><span style="color: #DD0000">'<br />AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5PTrLRdjNONxXH1tVFGn0<br />Bd26BF0aCP9qyJRlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xj<br />zaLpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VEHYckxQ16CjSTibI5X<br />69GmnYC9PNqEYq/1TP+HF10='</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">ssh2_publickey_add</span><span style="color: #007700">(</span><span style="color: #0000BB">$pkey</span><span style="color: #007700">, </span><span style="color: #DD0000">'ssh-rsa'</span><span style="color: #007700">, </span><span style="color: #0000BB">$keyblob</span><span style="color: #007700">, </span><span style="color: #0000BB">false</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'comment'</span><span style="color: #007700">=&gt;</span><span style="color: #DD0000">"John's Key"</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.ssh2-publickey-add-seealso">
  <h3 class="title">See Also</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="function.ssh2-publickey-init.php" class="function" rel="rdfs-seeAlso">ssh2_publickey_init()</a> - Initialize Publickey subsystem</span></li>
   <li><span class="function"><a href="function.ssh2-publickey-remove.php" class="function" rel="rdfs-seeAlso">ssh2_publickey_remove()</a> - Remove an authorized publickey</span></li>
   <li><span class="function"><a href="function.ssh2-publickey-list.php" class="function" rel="rdfs-seeAlso">ssh2_publickey_list()</a> - List currently authorized publickeys</span></li>
  </ul>
 </div>


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