ssh2_connect
(PECL ssh2 >= 0.9.0)
ssh2_connect — Connexion à un serveur SSH
Description
$host
[, int $port
= 22
[, 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 fonction ssh2_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
peut contenir n'importe quel ou tous les paramètres suivants.Options de connexion SSH 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
etserver_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çuvoid ignore_cb($message) debug Nom de la fonction à appeler lorsqu'un paquet SSH2_MSG_DEBUG
est reçuvoid 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çuvoid disconnect_cb($reason, $message, $language)
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() - Récupère l'empreinte d'un serveur distant
- ssh2_auth_none() - Identification en tant que "none"
- ssh2_auth_password() - Identification via SSH en utilisant un mot de passe en clair
- ssh2_auth_pubkey_file() - Identification en utilisant une clé publique
- ssh2_disconnect() - Close a connection to a remote SSH server
Version en cache
23/12/2024 14:45:39 Cette version de la page est en cache (à la date du 23/12/2024 14:45:39) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-ssh2-connect.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.