ssh2_connect

(PECL ssh2 >= 0.9.0)

ssh2_connectBir SSH sunucusuna bağlanır

Açıklama

ssh2_connect ( string $konak [, int $port = 22 [, array $yöntemler [, array $geriçağırımlar ]]] ) : resource

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.

Değiştirgeler

konak

port

yöntemler

Aşağıda açıklanan dört değiştirgeden bazılarını içeren bir ilişkisel dizi.

Yöntemler
İ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.

client_to_server ve server_to_client aşağıdaki değiştirgelerin tamamını veya bir kısmını içeren bir ilişkisel dizidir.
İ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. [email protected], 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, [email protected] 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 değiştirgeleri içeren bir ilişkisel dizidir.

Geriçağırım değiştirgeleri
İ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)

Dönen Değerler

Başarı durumunda bir özkaynak yoksa FALSE döner.

Örnekler

Ö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
/* Sunucu bağlantıyı sonlandırırsa kullanıcıya bilgi verelim */
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ı');
?>

Ayrıca Bakınız