ssh2_auth_pubkey_file
<<<
ssh2_connect ssh2_exec
>>>

8.117 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.117.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 .

<< ssh2_connect >>
ssh2_auth_pubkey_file Shell2 sécurisé ssh2_exec