array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'function.ssh2-connect.php', 1 => 'ssh2_connect', ), 'up' => array ( 0 => 'ref.ssh2.php', 1 => 'SSH2 İşlevleri', ), 'prev' => array ( 0 => 'function.ssh2-auth-pubkey-file.php', 1 => 'ssh2_auth_pubkey_file', ), 'next' => array ( 0 => 'function.ssh2-disconnect.php', 1 => 'ssh2_disconnect', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'tr', 'path' => 'reference/ssh2/functions/ssh2-connect.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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
/* 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ı');
?>