Add an authorized publickey

# ssh2_publickey_add

(PECL ssh2 >= 0.10)

ssh2_publickey_add — Add an authorized publickey

### 说明

function ssh2_publickey_add(
resource `$pkey`,
string `$algoname`,
string `$blob`,
bool `$overwrite` = `false`,
array `$attributes` = ?
): bool

> 注意: 公钥子系统用于管理服务器到已被认证的客户端的公钥。要用公钥认证方法来认证远程系统，应使用 ssh2_auth_pubkey_file() 函数。

### 参数

`pkey`
  Publickey Subsystem resource created by ssh2_publickey_init().
`algoname`
  Publickey algorithm (e.g.): ssh-dss, ssh-rsa
`blob`
  Publickey blob as raw binary data
`overwrite`
  If the specified key already exists, should it be overwritten?
`attributes`
  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.

### 返回值

成功时返回 `true`， 或者在失败时返回 `false`。

### 示例

示例 #1 Adding a publickey with ssh2_publickey_add()

    <?php
    $ssh2 = ssh2_connect('shell.example.com', 22);
    ssh2_auth_password($ssh2, 'jdoe', 'password');
    $pkey = ssh2_publickey_init($ssh2);

    $keyblob = base64_decode('
    AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5PTrLRdjNONxXH1tVFGn0
    Bd26BF0aCP9qyJRlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xj
    zaLpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VEHYckxQ16CjSTibI5X
    69GmnYC9PNqEYq/1TP+HF10=');

    ssh2_publickey_add($pkey, 'ssh-rsa', $keyblob, false, array('comment'=>"John's Key"));
    ?>

### 参见

- ssh2_publickey_init() - Initialize Publickey subsystem
- ssh2_publickey_remove() - Remove an authorized publickey
- ssh2_publickey_list() - List currently authorized publickeys

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open