PHP 手册
后退 |  | 前进

# ssh2_publickey_add

(PECL)

ssh2_publickey_add -- Add an authorized publickey

## 说明

bool ssh2_publickey_add ( resource pkey, string algoname, string blob [, bool overwrite [, array attributes]] )

> 注: 公钥系统用于管理服务器上的客户已经被认证的公钥。要用公钥认证方法在远程系统上认证，应该用 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, preceed its name with an asterix. 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($ssh2, 'ssh-rsa', $keyblob, false, array('comment'=>"John's Key"));
?>`

## 参见

ssh2_publickey_init()
ssh2_publickey_remove()
ssh2_publickey_list()

后退 | 起点 | 前进
ssh2_methods_negotiated | 上一级 | ssh2_publickey_init