(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öntemler
Aş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ımlar
Aş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ı');
?>