Hi, genau, das habe ich mir schon angekuckt gehabt und installiert und da gibt es auch das public key verfahren nur funuzt es nicht so wie es sollte.
Hier mal ein Beispielscript das ich versucht habe zum laufen zu bekommen, aber nicht geschafft, ahbe, weil die autoresierung nicht klappt, weil da muss ich auch wohl den pfad zum key pub und normalen key angeben, nur ob es richtig ist ... k.a
Hier mal das script:
Code: Select all
<?php
function my_ssh_disconnect($reason, $message, $language) {
printf("Server disconnected with reason code [%d] and message: %sn",
$reason, $message);
}
$methods = array(
'kex' => 'diffie-hellman-group1-sha1',
'client_to_server' => array(
'crypt' => 'aes256-cbc',
'comp' => 'none',
'mac' => 'hmac-sha1'),
'server_to_client' => array(
'crypt' => 'aes256-cbc',
'comp' => 'none',
'mac' => 'hmac-sha1'));
$callbacks = array('disconnect' => 'my_ssh_disconnect');
$ssh_host = "meineip";
$connection = ssh2_connect($ssh_host, 22, $methods, $callbacks);
if (!$connection) die('Connection failed');
echo "Connected with $ssh_host<br>n";
$fingerprint = ssh2_fingerprint($connection,
SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX);
echo "This host's Fingerprint is: $fingerprintn<br>";
$user_name = "web1";
if (ssh2_auth_pubkey_file($connection, $user_name,'/home/htdocs/web1/.ssh/id_rsa.pub',
'/srv/www/htdocs/web3/.ssh/id_rsa', 'password keines')) {
echo "Public Key Authentication Successful as user: $user_name<br>n";
} else {
die('Public Key Authentication Failed');
}
$ssh_command = "/usr/bin/php -v";
echo "Executing Command: $ssh_command<br>n";
echo "<pre>";
$stream = ssh2_exec($connection, $ssh_command);
stream_set_blocking( $stream, true );
while ( $inhalt = fread( $stream, 4096 )) {
echo "$inhalt";
}
echo "</pre>";
?>
/home/htdocs/web1/.ssh/id_rsa.pub = Remote Server
/srv/www/htdocs/web3/.ssh/id_rsa = Local Server
Password keines, weil in der passphrase keines angegeben.
Wenn ich die pfade angebe, also vom local server die id_rsa angebe und vom Remote die id_rsa.pub den absoluten pfad bekomme ich immer ein authenfication failed in zeile 34. Den Fingerprint gibt er mir wieder also klappt soweit auch der connect, nur das script kann sich nicht authen.
libssh2 und der kram ist alles installiert und lauffähig.
Kann mir da einer genau sagen in welcher reinfolge ich den pub und key eingeben muss, oder wie ich es eingeben muss, weil schlägt immer fehl leider :(