(PECL ssh2 >= 0.9.0)
ssh2_auth_pubkey_file — Bir genel anahtar kullanarak kimlik doğrulaması yapar
$oturum
,$kullanıcı
,$genel_anh_dosyası
,$gizli_anh_dosyası
,$anh_parolası
= ?Genel anahtarı bir dosyadan okuyarak kimlik doğrulaması yapar.
oturum
ssh2_connect() ile sağlanan bir SSH bağlantı tanıtıcısı.
kullanıcı
genel_anh_dosyası
Genel anahtar dosyasının OpenSSH biçeminde olması gerekir. Görünüşü şuna benzer:
ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110
gizli_anh_dosyası
anh_parolası
gizli_anh_dosyası
için bir parola kullanılmışsa bu parola bu bağımsız değişkende belirtilmelidir. (SSH oturum anahtarları genelde parolasız oluşturulur).
Örnek 1 - Genel anahtarlı kimlik doğrulama
<?php
$baglanti = ssh2_connect('shell.example.com', 22,
array('hostkey'=>'ssh-rsa'));
if (ssh2_auth_pubkey_file($baglanti, 'birey',
'/home/birey/.ssh/id_rsa.pub',
'/home/birey/.ssh/id_rsa', 'secret')) {
echo "Genel anahtarlı kimlik doğrulama başarılı oldu\n";
} else {
die('Genel anahtarlı kimlik doğrulama başarısız oldu');
}
?>
Bilginize:
Alt yapıdaki libssh kütüphanesi, kısmi yetkilendirmeleri çok da açıkça desteklemiyor. Yani, hem bir genel anahtar hem de bir parola sağlamanız gerekiyorsa, bu işlev başarısız olmuş gibi görünecektir. Bu özel durumda, bu çağrının başarısız olması, kimlik kanıtlamanın henüz tamamlanmadığı anlamına gelebilir. Kimlik kanıtlamayı tamamlamak için bu hatayı görmezden gelmeniz ve devam etmeniz ve ssh2_auth_password() işlevini çağırmanız gerekir.