Wie eine SSH-Verbindung von Server A nach Server B erstellen?

deinpapa

Mitglied
Hallo

Wie kann ich eine SSH Verbindung vom Server A nach Server B herstellen und da Prozesse starten?

Das soll alles über eine PHP Seite laufen.

Damit ich auf der PHP Seite, Apache2 Start klicke und das Script mach das dann auotmatisch.
Es logt sich auf den Server B ein, geht und den entsprechenden Ortner ein ( Allso cd /etc/init.d/ ) und macht dann " ./apache2 start "

Damit ich nicht immer alles per hand machen muss und alles selber übers SSH.

Ich weiss dass man openssl-0.9.8b und libssh2-0.13 braucht.
Es fehlen mir noch die richtigen Befehle.

Ich hoffe es kann mir da einer weiter helfen.

MFG
 
Schau mal hier, da findest Du alles was Du brauchst.
Mal kurz der Ablauf:
  1. Verbinden
    ssh2_connect()
  2. Anmelden
    ssh2_auth_hostbased_file(), ssh2_auth_none(), ssh2_auth_password() oder ssh2_auth_pubkey_file()
    Meist wird hier wohl ssh2_auth_password() zum Einsatz kommen.
  3. Programme ausfuehren
    ssh2_exec()
  4. Verbindung beenden
    fclose()
 
Hi

Die seite känne ich schon und alle scripte die ich damit gecodet habe gingen nicht.

das script konnte dich conekten aber beim einlogen ist es gescheitert.

Kannst du mir bitte ein fertiges code geben.

Am besten damit es z.B.: so ist.
Code:
ssh2_connect($ip, $port)

<?php

ip= 127.0.0.1
port=22
user=sshuser
pw=sshpw

$connection = ssh2_connect('$ip', $port);
ssh2_auth_password($connection, '$user', '$pw');

$stream = ssh2_exec($connection, 'cd /programm/');
$stream = ssh2_exec($connection, './programm start/');
fclose($stream)
?>

Habe das etwa so da gesehen und benutzt aber ist bestimmt falsch.

Will es mit user und pw eingabe haben und nicht mit public_kay oder wie das genau heist.

Ich versuche es schon ca. 1 woche, ok habe auch was anderes versucht aber hatt auch was damit zu tun.

Ich würde mich sehr freun wenn wir da entlich mal einer helfen kann, so das es auch geht.

PS: komme mit dem public_kay ( oder wie das genau heist ) nicht klar, da ich noch keine gute anleitung dazu gefunden habe wie ich den kay erstehle und den dann mein code benutze.
 
Zuletzt bearbeitet:
Also bei dem Script duerftest Du erstmal einen Fehler bekommen, dass ein PHP-Befehl ausserhalb des als PHP ausgewiesenen Bereiches steht.
Weiterhin duerfte es Fehler geben da Du versuchst Konstanten mittels = und nicht ueber define() zu setzen.
Und zusaetzlich hast Du Variablen in '' gesetzt, was dafuer sorgt, dass das ganze als String gehandhabt wird.
Probier das mal:
PHP:
$sshhostname='';
$sshusername='';
$sshpassword='';
$ssh=ssh2_connect($sshhostname);
ssh2_auth_password($ssh,$sshusername,$sshpassword);
ssh2_exec($ssh,'logout');
fclose($ssh);
 
Hallo

Konnte dein code noch nicht testen da ich ja OpenSSL, libssh2 und PECL/ssh2 brauche.
OpenSSL und libssh2 habe ich installiert aber wenn ich PECL/ssh2 installieren will muss ich den befehl benutzen ( laut http://de.php.net/manual/de/ref.ssh2.php ) " pear install ssh2 "
Aber ich krige da das?
Code:
local:/opt/ssh2-0.10 # pear install ssh2
downloading ssh2-0.10.tgz ...
...done: 22,187 bytes
5 source files, building
running: phpize
sh: line 1: phpize: command not found
`phpize' failed
local:/opt/ssh2-0.10 #

Und wenn ich den befehl benutze " phpize && ./configure --with-ssh2 && make to generate ssh2.so " kommt das:
Code:
local:/opt/ssh2-0.10 # phpize && ./configure --with-ssh2 && make to generate ssh2.so
-bash: phpize: command not found
local:/opt/ssh2-0.10 #

Ich habe schon mit YAST versucht paar programme zu installieren aber dann kamm eine andere fehlermeldung.
Unswar die hier:
Code:
local:/opt/ssh2-0.10 # phpize && ./configure --with-ssh2 && make
/usr/bin/phpize: line 55: aclocal: command not found
local:/opt/ssh2-0.10 #

Ich krige die jetzt nicht da ich den server wider neuistalliert habe, jetzt krige ich wider die mit " command not found ".
Kann mir da einer weiter helfen ?
Was muss ich dafür einstehlen oder installieren?
Und wo krige ich die sachen?
 
wo kann ich das runter laden und wo gibt eine anleitung wie ich das installiere und einrichte?
Habe schon mal was davon gelesen und danach gegoogelt aber nur forum beitrege gefunden und nichts war mir weiter geholfen hat.
 
danke

Aber weist du wie ich den fehler weg krige ?

Code:
local:/opt/ssh2-0.10 # phpize && ./configure --with-ssh2 && make to generate ssh2.so
-bash: phpize: command not found
local:/opt/ssh2-0.10 #

Ich habe mal was davon gelesen das man php4 developer paket und zlib developer installieren muss damit es geht. Aber bei yast finde ich die nicht nur mod_php4-devel und zlib-devel. und zlib-devel ist installiert nur das andere nicht.
Kannst da weiter helfen ?
#EDIT#
Habe autoconf. installiert. allso über yast habe es noch da gefunden :-(
#/EDIT\#
 
Zuletzt bearbeitet:
Keine Ahnung in welchem Paket Suse sowas versteckt. Mit Suse hab ich seit Jahren nichts mehr am Hut.
Ich wuerde Dir das PHP das Suse Dir liefert zu entfernen und einfach die aktuelle Version aus den Sourcen zu installieren.
 
Zurück