8.116 Shell2 sécurisé 
8 Référence des fonctions 
 Manuel PHP 
 . Introduction . Installation . ssh2_auth_none . ssh2_auth_password . ssh2_auth_pubkey_file ->ssh2_connect . ssh2_exec . ssh2_fetch_stream . ssh2_fingerprint . ssh2_methods_negotiated . ssh2_scp_recv . ssh2_scp_send . ssh2_sftp_lstat . ssh2_sftp_mkdir . ssh2_sftp_readlink . ssh2_sftp_realpath . ssh2_sftp_rename . ssh2_sftp_rmdir . ssh2_sftp_stat . ssh2_sftp_symlink . ssh2_sftp_unlink . ssh2_sftp . ssh2_shell . ssh2_tunnel
 
  | 
 
  8.116.6 ssh2_connect()
     Connexion à un serveur SSH
    [ Exemples avec ssh2_connect ]   CVS uniquement 
resource
 ssh2_connect (
string
 
host
 ,
int
 
port
 ,
array
 
methods
 ,
array
 
callbacks
 )
ssh2_connect
  établie une connexion à un serveur SSH distant
     et retourne une ressource de connexion en cas de succès,  
FALSE
  sinon.
     
methods
  doit être un tableau associatif avec plus de 
     quatre paramètres, comme décrit ci-dessous.
     
 
| 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 cryptage, 
          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 cryptage, 
          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.
     
 
| Index | 
Signification | 
Valeurs supportées * | 
 
| crypt | 
          Liste des méthodes de cryptage à 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 |  | Crypt and MAC method " none "
 
      Pour des raisons de sécurité,  
none
  est désactivé par la 
      bibliothèque  libssh2  à moins qu'il soit
      activer explicitement durant la compilation en utilisant les options 
      appropriées du ./configure. 
      Voir la documentation sur la bibliothèque pour plus d'informations.
      
 |   
 
| 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 callback retourne
          
TRUE
, l'erreur sera ignoré, 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) | 
 
 
| Ouverture d'une connexion forcant 3des-cbc lors de l'envoi de paquets, n'importe quel force aes cipher lors de la réception de paquets, aucune compression dans les deux directions, et change de clés Group1. |  
<?php /* Notification à l'utilisateur si le serveur termine la connexion */ function my_ssh_disconnect($reason, $message, $language) {   printf("Le serveur s'est déconnecté avec le code [%d] et le 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('Echec de la connexion'); ?>
 
 |   
     Une fois connecté, le client doit vérifier la clé hôte du serveur
     en utilisant la fonction 
ssh2_fingerprint
 , 
     puis s'identifier en utilisant soit un mot de passe, soit une clé publique.
     
     Voir aussi
      
ssh2_fingerprint
 ,
      
ssh2_auth_none
 ,
      
ssh2_auth_password
  et
      
ssh2_auth_pubkey_file
 .
     
 |