ssh2_methods_negotiated
ssh2_publickey_init
SSH2 함수 목록
PHP Manual

# ssh2_publickey_add

(PECL ssh2 >= 0.10)

ssh2_publickey_add — Add an authorized publickey

### 설명

bool ssh2_publickey_add ( resource `$pkey` , string `$algoname` , string `$blob` [, bool `$overwrite`= false [, array `$attributes` ]] )

> Note: 공개키 부시스템은 서버에서 공개키를 관리하여 어떤 클라이언트가 이미 인증되었는지 확인하는데 사용합니다. 공개키를 사용하여 원격 시스템을 인증하려면 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`를 반환합니다.

### 예제

Example #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

ssh2_methods_negotiated
ssh2_publickey_init
SSH2 함수 목록
PHP Manual