(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öntemlerAş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,
nonedeğ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 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
/* 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ı');
?>