Hallo zusammen
Bin nun dabei, eine SSH-Verbindung zu einem Server bei einer Bank aufzubauen. Den Public/Privat-Key habe ich mit OpenSSH mit dem Befehl:
-> ssh-keygen -t rsa -b 2048
generiert und der Bank den Public-Key zugestellt. Ein Passwort habe ich nicht angegeben.
Soweit so gut..
Hier nun mal mein Test-Code:
Der ssh2_auth_pubkey_file() gibt jedoch folgenden Fehler zurück:
Warning: ssh2_auth_pubkey_file() [function.ssh2-auth-pubkey-file]: Authentication failed for [username (falls angegeben)] using public key in C:\wwwroot\FinanceKomm07\test.php on line 14
Ich weis nicht woran das liegt. Einen username musste ich beim ssh-keygen ja auch nicht angeben.
Testhalber hab ich dann noch folgende Funktion ausgeführt:
Diese liefert folgenden Output:
Encryption keys were negotiated using: diffie-hellman-group-exchange-sha1
Server identified using an ssh-rsa with fingerprint: C4244D2DD9313E95C0F35EC08A2A5436
Client to Server packets will use methods:
Crypt: aes128-cbc
Comp: none
MAC: hmac-sha1
Server to Client packets will use methods:
Crypt: aes128-cbc
Comp: none
MAC: hmac-sha1
Hat jemand ein bisschen mehr Plan, was ich da falsch mache bzw. vergessen habe?
Danke für eure Hilfe
Philipp
Bin nun dabei, eine SSH-Verbindung zu einem Server bei einer Bank aufzubauen. Den Public/Privat-Key habe ich mit OpenSSH mit dem Befehl:
-> ssh-keygen -t rsa -b 2048
generiert und der Bank den Public-Key zugestellt. Ein Passwort habe ich nicht angegeben.
Soweit so gut..
Hier nun mal mein Test-Code:
PHP-Code:
$connection = ssh2_connect('ftsgate.XXX.com', 22, array('hostkey'=>'ssh-rsa'));
if($connection == FALSE) {
echo "Connection failed";
}
// Der ssh2_connect() gibt TRUE zurück und der Admin bei der Bank kann in den Logfiles auch sehen, dass ich rein komme.
if (ssh2_auth_pubkey_file($connection, '', '/inc/gozo_rsa.pub', '/inc/gozo_rsa')) {
echo "Public Key Authentication Successful\n";
} else {
echo('Public Key Authentication Failed');
}
Warning: ssh2_auth_pubkey_file() [function.ssh2-auth-pubkey-file]: Authentication failed for [username (falls angegeben)] using public key in C:\wwwroot\FinanceKomm07\test.php on line 14
Ich weis nicht woran das liegt. Einen username musste ich beim ssh-keygen ja auch nicht angeben.
Testhalber hab ich dann noch folgende Funktion ausgeführt:
PHP-Code:
$methods = ssh2_methods_negotiated($connection);
Encryption keys were negotiated using: diffie-hellman-group-exchange-sha1
Server identified using an ssh-rsa with fingerprint: C4244D2DD9313E95C0F35EC08A2A5436
Client to Server packets will use methods:
Crypt: aes128-cbc
Comp: none
MAC: hmac-sha1
Server to Client packets will use methods:
Crypt: aes128-cbc
Comp: none
MAC: hmac-sha1
Hat jemand ein bisschen mehr Plan, was ich da falsch mache bzw. vergessen habe?
Danke für eure Hilfe
Philipp
Kommentar