首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ssh2_connect

(PECL ssh2 >= 0.9.0)

ssh2_connect — Connect to an SSH server

Description

代码语言:javascript
复制
resource ssh2_connect ( string $host [, int $port = 22 [, array $methods [, array $callbacks ]]] )

Establish a connection to a remote SSH server.

Once connected, the client should verify the server's hostkey using ssh2_fingerprint(), then authenticate using either password or public key.

Parameters

host port methods

methods may be an associative array with up to four parameters as described below.

Index

Meaning

Supported Values*

kex

List of key exchange methods to advertise, comma separated in order of preference.

diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, and diffie-hellman-group-exchange-sha1

hostkey

List of hostkey methods to advertise, comma separated in order of preference.

ssh-rsa and 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

Associative array containing crypt, compression, and message authentication code (MAC) method preferences for messages sent from server to client.

?

* - Supported Values are dependent on methods supported by underlying library. See ? libssh2 documentation for additional information.

Index

Meaning

Supported Values*

crypt

List of crypto methods to advertise, comma separated in order of preference.

rijndael-cbc@lysator.liu.se, aes256-cbc, aes192-cbc, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour, and none**

comp

List of compression methods to advertise, comma separated in order of preference.

zlib and none

mac

List of MAC methods to advertise, comma separated in order of preference.

hmac-sha1, hmac-sha1-96, hmac-ripemd160, hmac-ripemd160@openssh.com, and none**

Note: Crypt and MAC method "none" For security reasons, none is disabled by the underlying ? libssh2 library unless explicitly enabled during build time by using the appropriate ./configure options. See documentation for the underlying library for more information.

callbacks

callbacks may be an associative array with any or all of the following parameters.

Index

Meaning

Prototype

ignore

Name of function to call when an SSH2_MSG_IGNORE packet is received

void ignore_cb($message)

debug

Name of function to call when an SSH2_MSG_DEBUG packet is received

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

Name of function to call when an SSH2_MSG_DISCONNECT packet is received

void disconnect_cb($reason, $message, $language)

Return Values

Returns a resource on success, or FALSE on error.

Examples

Example #1 ssh2_connect() example

Open a connection forcing 3des-cbc when sending packets, any strength aes cipher when receiving packets, no compression in either direction, and Group1 key exchange.

代码语言:javascript
复制
<?php
/*?Notify?the?user?if?the?server?terminates?the?connection?*/
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('Connection?failed');
?>

See Also

  • ssh2_fingerprint() - Retrieve fingerprint of remote server
  • ssh2_auth_none() - Authenticate as "none"
  • ssh2_auth_password() - Authenticate over SSH using a plain password
  • ssh2_auth_pubkey_file() - Authenticate using a public key
  • ssh2_disconnect()

← ssh2_auth_pubkey_file

ssh2_exec →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com