array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'es', ), 'this' => array ( 0 => 'function.ssh2-connect.php', 1 => 'ssh2_connect', ), 'up' => array ( 0 => 'ref.ssh2.php', 1 => 'Funciones de SSH2', ), 'prev' => array ( 0 => 'function.ssh2-auth-pubkey-file.php', 1 => 'ssh2_auth_pubkey_file', ), 'next' => array ( 0 => 'function.ssh2-disconnect.php', 1 => 'ssh2_disconnect', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'es', 'path' => 'reference/ssh2/functions/ssh2-connect.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL ssh2 >= 0.9.0)
ssh2_connect — Conecta a un servidor SSH
Establece una conexión a un servidor SSH remoto.
Una vez conectado, el cliente debería verificar la clave de host del servidor usando ssh2_fingerprint(), y entonces, autenticarse usando la contreseña o la clave pública.
host
port
methods
methods
puede ser un array asociativo con, hasta 4 parámetros
descritos aquí abajo.
Índice | Significado | Valores aceptados* |
---|---|---|
kex | Lista de métodos de intercambio de claves a revelar, separados por comas en orden de preferencia. |
diffie-hellman-group1-sha1 ,
diffie-hellman-group14-sha1 , y
diffie-hellman-group-exchange-sha1
|
hostkey | Lista de métodos clave-host a desvelar, separados por comas en orden de preferencia. |
ssh-rsa y
ssh-dss
|
client_to_server | Associative array containing crypt, compression, and message authentication code (MAC) method preferences for messages sent from client to server. | |
server_to_client | Array asociativo que contiene el cifrado, la compresión, y las preferencias del método de código de autenticación de mensajes (MAC) para mensajes enviados del servidor al cliente. |
* - Los valores soportados dependen de los métodos soportados por la librería subyacente. Mirar la documentación » libssh2 para obtener información adicional.
Índice | Significado | Valores soportados* |
---|---|---|
crypt | Lista de métodos de cifrado a desvelar, separados por comas y en orden de preferencia. |
rijndael-cbc@lysator.liu.se ,
aes256-cbc ,
aes192-cbc ,
aes128-cbc ,
3des-cbc ,
blowfish-cbc ,
cast128-cbc ,
arcfour , y
none**
|
comp | Lista de los métodos de compresión a desvelar, separados por comas y en orden de preferencia. |
zlib y
none
|
mac | Lista de métodos MAC a desvelar, separados por comas y en orden de preferencia. |
hmac-sha1 ,
hmac-sha1-96 ,
hmac-ripemd160 ,
hmac-ripemd160@openssh.com , y
none**
|
Nota: Método de encriptación y MAC "
none
"
Por razones de seguridad,
none
está deshabilitado por la librería subyacente » libssh2 a menos que esté habilitado explícitamente durante el tiempo de construcción usando la optión apropiada de ./configure. Lea la documentación de dicha librería para más información.
callbacks
callbacks
puede ser un array asociativo con todos o alguno de los siguientes parámtros.
Índice | Significado | Prototipo |
---|---|---|
ignore |
Nombre de la función a llamar cuando el paquete
SSH2_MSG_IGNORE es recibido
|
void ignore_cb($message) |
debug |
Nombre de la función a llamar cuando el paquete
SSH2_MSG_DEBUG es recibido
|
void debug_cb($message, $language, $always_display) |
macerror |
Name of function to call when a packet is received but the
message authentication code failed. If the callback returns
true , the mismatch will be ignored, otherwise the connection
will be terminated.
|
bool macerror_cb($packet) |
disconnect |
Nombre de la función a llamar cuando el paquete
SSH2_MSG_DISCONNECT es recibido
|
void disconnect_cb($reason, $message, $language) |
Devuelve un recurso en caso de éxito, o false
en caso de error.
Ejemplo #1 ssh2_connect()
Abre una conexión forzando 3des-cbc cuando envía paquetes, cualquier grado de cifrado aes cuando se reciben paquetes, sin comprensión ni dirección, y Group1 como clave de cambio.
<?php
/* Notifica al usuario si el servidor ha terminado la conexión */
function my_ssh_disconnect($reason, $message, $language) {
printf("Servidor desconectado con el siguiente código [%d] y mensaje: %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('Conexión fallida');
?>