diff --git a/reference/ssh2/functions/ssh2-auth-pubkey-file.xml b/reference/ssh2/functions/ssh2-auth-pubkey-file.xml index bcbe76c1f271..c93364bf7e49 100644 --- a/reference/ssh2/functions/ssh2-auth-pubkey-file.xml +++ b/reference/ssh2/functions/ssh2-auth-pubkey-file.xml @@ -3,7 +3,7 @@ ssh2_auth_pubkey_file - Authenticate using a public key + Authenticate using a public key read from a file @@ -37,6 +37,7 @@ username + Name of the user to authenticate as on the remote server. @@ -103,7 +104,7 @@ if (ssh2_auth_pubkey_file($connection, 'username', &reftitle.notes; - The underlying libssh library doesn't support partial auths very cleanly + 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 @@ -114,6 +115,13 @@ 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 + + + Name of the user to authenticate as on the remote server. + + + + + 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 1a05d4d86606..5a6ce331655b 100644 --- a/reference/ssh2/functions/ssh2-connect.xml +++ b/reference/ssh2/functions/ssh2-connect.xml @@ -288,6 +288,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 @@ +