Visualizzazione dei risultati da 1 a 2 su 2

Discussione: uso di ssh2

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    1

    uso di ssh2

    Ciao a tutti,

    ho un server Ubuntu 10.04 con Php5 e le librerie ssh2 del pecl installate.
    Il mio tentativo è stato inizialmente di collegarmi utilizzando la funzione ssh_auth_password, ovvero tramite la coppia nome utente - password.
    volendo superare l'ostacolo della password ho creato le chiavi pubbliche sul client, le ho copiate nel file authorized_keys del server e provando da shell effettivamente non richiede la password.
    Tutto questo da utente root (sia sul client che sul server).

    Ho provato, dunque, a utilizzare questo meccanismo da PHP e la cosa "interessante" è che la funzione che deve effettuare l'autenticazione (ssh2_auth_pubkey_file) non segnala nessun tipo di errore, se non quello di ritornare "false".

    Il mio codice è questo:

    [CODE
    <?php
    /* Notify the user if the server terminates the connection */
    function my_ssh_disconnect($reason, $message, $language) {
    printf("Server disconnected with reason code [%d] and message: %s\n",
    $reason, $message);
    }


    if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist");
    // log in at server1.example.com on port 22

    $callbacks = array('disconnect' => 'my_ssh_disconnect');

    if(!($con = ssh2_connect("192.168.71.190", 22, array('hostkey'=>'ssh-rsa'), $callbacks))) {
    echo "fail: unable to establish connectionn";
    } else {

    if(!ssh2_auth_pubkey_file($con, "root", "192.168.71.190", "/root/.ssh/id_rsa.pub", "/root/.ssh/id_rsa", '')) {
    die("fail: unable to authenticate");
    } else {
    // allright, we're in!
    echo "okay: logged in...
    ";

    // execute a command
    $command = "touch file_in_ssh.txt; echo Ciaooooo >> file_in_ssh.txt";
    if(!($stream = ssh2_exec($con, $command)) ){
    echo "fail: unable to execute commandn";
    } else{
    // collect returning data from command
    stream_set_blocking( $stream, true );
    $data = "";
    while( $buf = fread($stream,4096) ){
    $data .= $buf;
    }
    fclose($stream);
    echo $data;
    }
    }
    }


    ?>

    [/CODE]

    quando accedo alla pagine mi stampa "fail: unable to authenticate".
    Qualcuno ha qualche idea?
    La mia è che sia qualche problema di permessi sulle chiavi, dato che non sono accessibile all'utente www-data (cioè Apache) e quindi termina in modo scorretto. Ma ogni tentativo del genere non ha dato successo. Ho anche provato (ultima spiaggia) a copiare le chiavi in /var/www dove ero sicuro che Apache potesse leggerle.
    Grazie.

    R.

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    49

    ssh2 auth

    E' possibile che nel file di configurazione del server ssh hai impostato l'impossibilità di autenticarti come root? Molti server ssh, come openssh lo impostano di default.
    Visto che usi le librerie ssh2 con php, puoi spiegarmi come si installano in un server apache come lampp o xampp? Quali file devo copiare e dove? Come modifico php.ini?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.