ssh2_auth_pubkey_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_pubkey_fileBir genel anahtar kullanarak kimlik doğrulaması yapar

Açıklama

ssh2_auth_pubkey_file(
    resource$oturum,
    string$kullanıcı,
    string$genel_anh_dosyası,
    string$gizli_anh_dosyası,
    string$anh_parolası = ?
): bool

Genel anahtarı bir dosyadan okuyarak kimlik doğrulaması yapar.

Bağımsız Değişkenler

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).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Ö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');
}
?>

Notlar

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.

To Top