(PECL ssh2 >= 0.9.0)
ssh2_connect — Bir SSH sunucusuna bağlanır
$konak
,$port
= 22,$yöntemler
= ?,$geriçağırımlar
= ?Bir uzak SSH sunucusuna bağlanıp bir bağlantı özkaynağı döndürür.
Bağlantı sağlanır sağlanmaz, istemcinin ssh2_fingerprint() işlevini kullanarak konak anahtarını ve ardından parola veya genel anahtarla kullanıcı kimliğini doğrulaması gerekir.
konak
port
yöntemler
Aşağıda açıklanan dört bağımsız değişkenden bazılarını içeren bir ilişkisel dizi.
İndis | Anlamı | Desteklenen değerler* |
---|---|---|
kex | Anahtar müzakere yöntemlerinin listesi; tercih sırasına göre dizilmiş virgül ayraçlı bir listedir. | diffie-hellman-group1-sha1 , diffie-hellman-group14-sha1 ve diffie-hellman-group-exchange-sha1 |
hostkey | Müzakere edilecek konak anahtarı yöntemlerinin listesi; tercih sırasına göre dizilmiş bir listedir. | ssh-rsa ve ssh-dss |
client_to_server | İstemciden sunucuya gönderilen iletiler için şifreleme, sıkıştırma ve ileti kimlik doğrulaması kodu (MAC) ile igili yöntem tercihlerini içeren bir ilişkisel dizi. | |
server_to_client | Sunucudan istemciye gönderilen iletiler için şifreleme, sıkıştırma ve ileti kimlik doğrulaması kodu (MAC) ile igili yöntem tercihlerini içeren bir ilişkisel dizi. |
* - Desteklenen değerler sisteminizdeki kütüphaneye bağlıdır. Daha ayrıntılı bilgi için » libssh2 belgelerine bakınız.
İndis | Anlamı | Desteklenen değerler* |
---|---|---|
crypt | Müzakere edilecek şifreleme yöntemleri; tercih sırasına göre dizilmiş virgül ayraçlı bir listedir. | rijndael-cbc@lysator.liu.se , aes256-cbc , aes192-cbc , aes128-cbc , 3des-cbc , blowfish-cbc , cast128-cbc , arcfour ve none** |
comp | Müzakere edilecek sıkıştırma yöntemleri; tercih sırasına göre dizilmiş virgül ayraçlı bir listedir. | zlib ve none |
mac | Müzakere edilecek MAC yöntemleri; tercih sırasına göre dizilmiş virgül ayraçlı bir listedir. | hmac-sha1 , hmac-sha1-96 , hmac-ripemd160 , hmac-ripemd160@openssh.com ve none** |
Bilginize: Crypt ve MAC yöntemi "
none
"Güvenlik saikiyle,
none
değeri » libssh2 kütüphanesi tarafından iptal edilmiştir. Bu değeri etkin kılmak isterseniz kütüphaneyi derlerken uygun ./configure seçeneğini kullanmanız gerekir. Daha fazla bilgi için kütüphane belgelerine bakınız.
geriçağırımlar
Aşağıdaki bağımsız değişkenleri içeren bir ilişkisel dizidir.
İndis | Anlamı | İşlev bildirimi |
---|---|---|
ignore | Bir SSH2_MSG_IGNORE paketi alındığında çağrılacak işlevin ismi. | void ignore_cb($ileti) |
debug | Bir SSH2_MSG_DEBUG paketi alındığında çağrılacak işlevin ismi. | void debug_cb($ileti, $dil, $hep_göster) |
macerror | Bir paket alındığında ileti kimlik doğrulaması başarısız olduğunda çağrılacak işlevin ismi. Eğer geri çağırım işlevi true döndürürse uyuşmazlık görmezden gelinir, yoksa bağlantı sonlandırılır. | bool macerror_cb($packet) |
disconnect | Bir SSH2_MSG_DISCONNECT paketi alındığında çağrılacak işlevin ismi. | void disconnect_cb($sebep, $ileti, $dil) |
Başarı durumunda bir özkaynak yoksa false
döner.
Örnek 1 - ssh2_connect() örneği
Paket gönderirken 3des-cbc, paket alırken güçlü aes şifremesi için zorlayan, hiçbir yönde sıkıştırma yapılmayan ve Group1 anahtar değişim yöntemini kullanan bir bağlantı açalım.
<?php
function my_ssh_disconnect($ebep, $ileti, $dil) {
printf("Sunucu bağlantıyı kesti; sebep kodu ve ileti: [%d] %s\n",
$sebep, $ileti);
}
$yontemler = array(
'kex' => 'diffie-hellman-group1-sha1',
'client_to_server' => array(
'crypt' => '3des-cbc',
'comp' => 'none'),
'server_to_client' => array(
'crypt' => 'aes256-cbc,aes192-cbc,aes128-cbc',
'comp' => 'none'));
$islevler = array('disconnect' => 'my_ssh_disconnect');
$baglanti = ssh2_connect('shell.example.com', 22, $yontemler, $islevler);
if (!$baglanti) die('Bağlantı sağlanamadı');
?>