(PECL ssh2 >= 0.9.0)
ssh2_connect — Bir SSH sunucusuna bağlanır
$konak
   [, int $port = 22
   [, array $yöntemler
   [, array $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öntemlerAşağıda açıklanan dört değiştirgeden 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ımlarAşağıdaki değiştirgeleri 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
/* 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ı');
?>