ssh2_auth_pubkey_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_pubkey_fileAutentica usando uma chave pública

Descrição

ssh2_auth_pubkey_file(
    resource $session,
    string $username,
    string $pubkeyfile,
    string $privkeyfile,
    string $passphrase = ?
): bool

Autentica usando uma chave pública lida de um arquivo.

Parâmetros

session

Um identificador de conexão SSH, obtido de uma chamada a ssh2_connect().

username

pubkeyfile

O arquivo de chave pública precisa estar no formato OpenSSH. Deve ser algo como:

ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110

privkeyfile

passphrase

Se privkeyfile estiver criptografado (o que deveria estar), a senha passphrase deverá ser fornecida.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Autenticação usando uma chave pública

<?php
$connection
= ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (
ssh2_auth_pubkey_file($connection, 'username',
'/home/username/.ssh/id_rsa.pub',
'/home/username/.ssh/id_rsa', 'secret')) {
echo
"Autenticação de chave pública bem-sucedida\n";
} else {
die(
'Falha na autenticação da chave pública');
}
?>

Notas

Nota:

A biblioteca libssh subjacente não suporta autenticações parciais de forma muito clara. Ou seja, se for necessário fornecer uma chave pública e uma senha, parecerá que esta função falhou. Neste caso específico, uma falha desta chamada pode significar apenas que a autenticação ainda não foi concluída. É preciso ignorar esta falha, continuar e chamar ssh2_auth_password() para concluir a autenticação.