(PECL ssh2 >= 1.4.0)
ssh2_auth_pubkey — Autentica usando uma chave pública em uma variável
$session,$username,$pubkey,$privkey,$passphrase = ?Autentica usando uma chave pública em uma variável.
sessionusernamepubkeyssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110
privkey-----BEGIN RSA PRIVATE KEY-----
passphraseprivkey for criptografada (e deveria
ser), o parâmetro passphrase precisa ser fornecido.
Exemplo #1 Autenticação usando uma chave pública
<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));
$publicKey = file_get_contents('/home/username/.ssh/id_rsa.pub');
$privateKey = file_get_contents('/home/username/.ssh/id_rsa');
if (ssh2_auth_pubkey($connection, 'username',
$publicKey,
$privateKey, 'secret')) {
echo "Sucesso na autenticação com chave pública\n";
} else {
die('Falha na autenticação com chave pública');
}
?>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.