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