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 @@
+