(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.
oturumssh2_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.