ugrás a tartalomhoz

SSH kapcslat php-val

kasza68 · 2011. Már. 5. (Szo), 13.44
Sziasztok!
Ha tudtok segítsetek nekem abban hogy hogyan tudnám azt megoldani hogy php segítségével rákapcsolódok egy linux szerverre a beadott linux parancsokat elvégzi majd bezárja a kapcsoltat.

Tehát mi érdekel:
- kapcsolódás linux szerverre,
- linux parancsok beadására melyik php kód alkalmas,
- kapcsolat bezárása.

Segítségeteket előre is köszönöm.
 
1

system('ssh

kuka · 2011. Már. 5. (Szo), 14.30

system('ssh felhasznalo@szerver parancs');

// vagy

system('ssh felhasznalo@szerver "parancs; parancs; parancs"');
2

ssh2 modul

Poetro · 2011. Már. 5. (Szo), 14.34
Amennyiben az ssh2 PECL modul telepítve van, onnantól kezdve viszonylag egyszerű a dolog.
// Callback függvény, mikor a szerver eldobja a kapcsolatot.
function my_ssh_disconnect($reason, $message, $language) {
  printf("Server disconnected with reason code [%d] and message: %s\n",
         $reason, $message);
}
// Kapcsolódási beállítások
$methods = array(
  'kex' => 'diffie-hellman-group1-sha1',
  'client_to_server' => array(
    'crypt' => '3des-cbc',
    'comp' => 'none'),
  'server_to_client' => array(
    'crypt' => 'aes256-cbc,aes192-cbc,aes128-cbc',
    'comp' => 'none'));

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

if ($connection = ssh2_connect('shell.example.com', 22, $methods, $callbacks)) {
  // Kapcsolódtunk a szerverre.
  if (ssh2_auth_password($connection, 'username', 'secret')) {
    // Sikeresen bejelentkeztünk
    if ($stream = ssh2_exec($connection, '/usr/local/bin/php --version')) {
      // Sikeresen lefuttattunk egy parancsot, nézzük a kimenetet.
      $errorStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR);

      stream_set_blocking($errorStream, true);
      stream_set_blocking($stream, true);
      echo "Output: " . stream_get_contents($stream);
      echo "Error: " . stream_get_contents($errorStream);
    }
  }
}
3

Köszönöm! a segítséget.

kasza68 · 2011. Már. 5. (Szo), 14.42
Köszönöm! a segítséget.