diff --git a/reference/ssh2/functions/ssh2-auth-pubkey-file.xml b/reference/ssh2/functions/ssh2-auth-pubkey-file.xml index 91f010377cdc..9d0146ce2cfe 100644 --- a/reference/ssh2/functions/ssh2-auth-pubkey-file.xml +++ b/reference/ssh2/functions/ssh2-auth-pubkey-file.xml @@ -3,9 +3,9 @@ ssh2_auth_pubkey_file - Authenticate using a public key + Authenticate using a public key read from a file - + &reftitle.description; @@ -17,7 +17,7 @@ stringpassphrase - Authenticate using a public key read from a file. + Authenticate using a public key read from a file. @@ -48,7 +48,7 @@ The public key file needs to be in OpenSSH's format. It should look something like: - ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110 + ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110 @@ -118,6 +118,15 @@ if (ssh2_auth_pubkey_file($connection, 'username', + + &reftitle.seealso; + + + ssh2_auth_pubkey + + + + + + + ssh2_auth_pubkey + Authenticate using a public key in a variable + + + + &reftitle.description; + + boolssh2_auth_pubkey + resourcesession + stringusername + stringpubkey + stringprivkey + stringpassphrase + + + Authenticate using a public key in a variable. + + + + + &reftitle.parameters; + + + + session + + + An SSH connection link identifier, obtained from a call to + ssh2_connect. + + + + + username + + + + + + + pubkey + + + Public key in OpenSSH's format. It should look something like: + + + ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110 + + + + + privkey + + + Private OpenSSH key. It should begin with: + + + -----BEGIN RSA PRIVATE KEY----- + + + + + passphrase + + + If privkey is encrypted (which it should + be), the passphrase must be provided. + + + + + + + + + &reftitle.returnvalues; + + &return.success; + + + + + &reftitle.examples; + + + Authentication using a public key + +'ssh-rsa')); +$publicKey = file_get_contents('/home/username/.ssh/id_rsa.pub'); +$privateKey = file_get_contents('/home/username/.ssh/id_rsa'); + +if (ssh2_auth_pubkey($connection, 'username', + $publicKey, + $privateKey, 'secret')) { + echo "Public Key Authentication Successful\n"; +} else { + die('Public Key Authentication Failed'); +} +?> +]]> + + + + + + + &reftitle.notes; + + + The underlying libssh library doesn't support partial auths very cleanly + That is, if you need to supply both a public key and a password it will + appear as if this function has failed. In this particular case a failure + from this call may just mean that auth hasn't been completed yet. You + would need to ignore this failure and continue on and call + ssh2_auth_password in order to complete + authentication. + + + + + + &reftitle.seealso; + + + ssh2_auth_pubkey_file + + + + + + + diff --git a/reference/ssh2/functions/ssh2-connect.xml b/reference/ssh2/functions/ssh2-connect.xml index e4604c158976..82d96c481486 100644 --- a/reference/ssh2/functions/ssh2-connect.xml +++ b/reference/ssh2/functions/ssh2-connect.xml @@ -5,7 +5,7 @@ ssh2_connect Connect to an SSH server - + &reftitle.description; @@ -299,6 +299,7 @@ if (!$connection) die('Connection failed'); ssh2_fingerprint ssh2_auth_none ssh2_auth_password + ssh2_auth_pubkey ssh2_auth_pubkey_file ssh2_disconnect diff --git a/reference/ssh2/versions.xml b/reference/ssh2/versions.xml index b6aa2faaad49..24bf2fa898e4 100644 --- a/reference/ssh2/versions.xml +++ b/reference/ssh2/versions.xml @@ -8,6 +8,7 @@ +