SFTP connections via PHP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,

Just wondering if anyone has had any success getting a connection
working with PHP via SFTP.

I am running
Win 2003 Server
PHP Version 5.1.6
Win32 OpenSSL v0.9.8e Light is installed
PECL module for SSH2 is installed

The following code
-----------------------------
   // create connetion to remote server
   if (!$sftpConnection = ssh2_connect(DNCR_SERVERNAME, 22)) {
       echo 'ERROR: Server connection failed.' . "\n";
       exit;
   }

   // check fingerprint of remote server matches what we expect
   $dncrFingerprint = ssh2_fingerprint($sftpConnection,
SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX);
   if ($dncrFingerprint != DNCR_FINGERPRINT && FALSE) {
       echo 'ERROR: Hostkey mismatch.' . "\n";
       exit;
   }

   // ensure that authentication methods allowed
   $sshAcceptedAuthenticationMethods =
ssh2_auth_none($sftpConnection,DNCR_USERNAME);
   echo "\n" . 'Accepted authentication methods:' . "\n";
   for ($i = 0; $i < count($sshAcceptedAuthenticationMethods); $i++)
echo $sshAcceptedAuthenticationMethods[$i] . "\n";
   echo "\n";

   $sshNegotiatedMethods = ssh2_methods_negotiated($sftpConnection);
   echo 'Encryption keys were negotiated using: {' .
$sshNegotiatedMethods['kex'] . '}' . "\n";
   echo 'Server identified using an {' .
$sshNegotiatedMethods['hostkey'] . '} with ';
   echo 'fingerprint: ' . ssh2_fingerprint($sftpConnection) . "\n";

   echo 'Client to Server packets will use methods:' . "\n";
   echo 'Crypt: {' . $sshNegotiatedMethods['client_to_server']['crypt']
. '}' . "\n";
   echo 'Comp: {' . $sshNegotiatedMethods['client_to_server']['comp'] .
'}' . "\n";
   echo 'MAC: {' . $sshNegotiatedMethods['client_to_server']['mac'] .
'}' . "\n";

   echo 'Server to Client packets will use methods:' . "\n";
   echo 'Crypt: {' . $sshNegotiatedMethods['server_to_client']['crypt']
. '}' . "\n";
   echo 'Comp: {' . $sshNegotiatedMethods['server_to_client']['comp'] .
'}' . "\n";
   echo 'MAC: {' . $sshNegotiatedMethods['server_to_client']['mac'] .
'}' . "\n";


   if (!ssh2_auth_password($sftpConnection, DNCR_USERNAME ,
DNCR_PASSWORD)) {
       echo 'ERROR: Cannot authenticate to remote server.' . "\n";
       exit;
   }
-----------------------------

produces the following result
-----------------------------

Accepted authentication methods:
publickey
keyboard-interactive

Encryption keys were negotiated using: {diffie-hellman-group14-sha1}
Server identified using an {ssh-dss} with fingerprint: F4EE0910B0C6BA932908320145F87790
Client to Server packets will use methods:
Crypt: {aes256-cbc}
Comp: {none}
MAC: {hmac-sha1}
Server to Client packets will use methods:
Crypt: {aes256-cbc}
Comp: {none}
MAC: {hmac-sha1}

*Warning*: ssh2_auth_password() [function.ssh2-auth-password <http://vesd.rd.cx/phoenix/function.ssh2-auth-password>]: Authentication failed for myusername using password in *c:\Inetpub\wwwroot\VESD\phoenix\composer-stage1-wash-file-submission.php* on line *67*

ERROR: Cannot authenticate to remote server.

-----------------------------

I can connect to this remote server via SFTP using Filezilla so there is
no firewall issues.

I also did a bit of reading on the accepted authentication method of
keyboard-interactive and it states that password should be allowed to be
sent
http://www.ssh.com/support/documentation/online/ssh/winhelp/32/overview.html

Any help would be greatly appreciated.

Thankyou

PS: I am sorry for the double post but noone has responded to this email on the windows list so I thought I would try my luck here...

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux