ssh2_auth_pubkey_file
ssh2_exec
Fonctions Shell2
PHP Manual

# ssh2_connect

(PECL ssh2:0.10-0.9)

ssh2_connect — Connexion à un serveur SSH

### Description

resource ssh2_connect ( string `$host` [, int `$port` [, array `$methods` [, array `$callbacks` ]]] )

Établit une connexion à un serveur SSH distant.

Une fois connecté, le client doit vérifier la clé hôte du serveur en utilisant la fonctionssh2_fingerprint(), puis s'identifier en utilisant soit un mot de passe, soit une clé publique.

### Liste de paramètres

`host`

`port`

`methods`

  `methods` doit être un tableau associatif avec plus de quatre paramètres, comme décrit ci-dessous.

  `methods` doit être un tableau associatif avec n'importe quel ou tous les paramètres suivants.
  Index | Signification | Valeurs supportées *
  --- | --- | ---
  kex | La liste des méthodes d'échange à annoncer, séparées par une virgule, par ordre de préférence. | diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, et diffie-hellman-group-exchange-sha1
  hostkey | La liste des méthodes de clés d'hôte à annoncer, séparées par une virgule, par ordre de préférence. | ssh-rsa et ssh-dss
  client_to_server | Tableau associatif contenant les codes des méthodes de chiffrement, de compression et de messages d'identification (MAC) préférés pour l'envoi des messages depuis le client vers le serveur. |
  server_to_client | Tableau associatif contenant les codes des méthodes de chiffrement, de compression et de messages d'identification (MAC) préférés pour l'envoi des messages depuis le serveur vers le client. |

  * - Les valeurs supportées sont dépendantes des méthodes supportées par la bibliothèque. Voir la documentation » libssh2 pour plus d'informations.

  `client_to_server` et `server_to_client` doivent être un tableau associatif avec n'importe quel ou tous les paramètres suivants.
  Index | Signification | Valeurs supportées *
  --- | --- | ---
  crypt | Liste des méthodes de chiffrement à annoncer, séparées par une virgule, par ordre de préférence. | rijndael-cbc@lysator.liu.se, aes256-cbc, aes192-cbc, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour, et none**
  comp | Liste des méthodes de compression à annoncer, séparées par une virgule, par ordre de préférence. | zlib et none
  mac | Liste des méthodes MAC à annoncer, séparées par une virgule, par ordre de préférence. | hmac-sha1, hmac-sha1-96, hmac-ripemd160, hmac-ripemd160@openssh.com, et none**

  > Note: Chiffrement et méthode MAC "none" Pour des raisons de sécurité, none est désactivé par la bibliothèque » libssh2 à moins qu'il soit activé explicitement durant la compilation en utilisant les options appropriées du ./configure. Voir la documentation sur la bibliothèque pour plus d'informations.

`callbacks`

  `callbackss` doit être un tableau associatif contenant n'importe quel ou tous les paramètres suivants.

  Paramètres de rappel
  Index | Signification | Prototype
  --- | --- | ---
  ignore | Nom de la fonction à appeler lorsqu'un paquet `SSH2_MSG_IGNORE` est reçu | void ignore_cb($message)
  debug | Nom de la fonction à appeler lorsqu'un paquet `SSH2_MSG_DEBUG` est reçu | void debug_cb($message, $language, $always_display)
  macerror | Nom de la fonction à appeler lorsqu'un paquet est reçu mais que le code message d'identification échoue. Si le la fonction de rappel retourne `TRUE`, l'erreur sera ignorée, sinon, la connexion se terminera. | bool macerror_cb($packet)
  disconnect | Nom de la fonction à appeler lorsqu'un paquet `SSH2_MSG_DISCONNECT` est reçu | void disconnect_cb($reason, $message, $language)

### Valeurs de retour

Retourne une ressource en cas de succès, ou `FALSE` si une erreur survient.

### Exemples

Exemple #1 Exemple avec ssh2_connect()

Ouverture d'une connexion forçant 3des-cbc lors de l'envoi de paquets, n'importe quel chiffrement AES lors de la réception de paquets, aucune compression dans les deux directions, et un échange de clés Group1.

`<?php
/* Notification à l'utilisateur si le serveur termine la connexion */
function my_ssh_disconnect($reason, $message, $language) {
printf("Server disconnected with reason code [%d] and message: %s\n",
$reason, $message);
}
$methods = 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'));
$callbacks = array('disconnect' => 'my_ssh_disconnect');
$connection = ssh2_connect('shell.example.com', 22, $methods, $callbacks);
if (!$connection) die('Échec de la connexion');
?>`

### Voir aussi

- ssh2_fingerprint()
- ssh2_auth_none()
- ssh2_auth_password()
- ssh2_auth_pubkey_file()

ssh2_auth_pubkey_file
ssh2_exec
Fonctions Shell2
PHP Manual