PHP PHP und SSH

DaPutzy

Ensign Pro
Registriert
Mai 2009
Beiträge
143
Hallo,

ich muss bis montag irgendwie noch eine belegarbeit schreiben... und toll wie ich bin (!) hab ich mit dem praktischen teil angefangen :)

uuund zwar ist es sinn der sache, eine datei/daten von dem rechner auf dem der script liegt, auf einen server/rechner zu bringen der SSH unterstützt.

soweit so gut, gedacht hab ich mir das so:

PHP:
<html>
<form action="test.php" method="POST">
<p>server:<br><input name="host" type="text"></p>
<p>port:<br><input name="port" type="text"></p>
<p>username:<br><input name="user" type="text"></p>
<p>password:<br><input name="pw" type="password"></p>
<input type="submit" value="Absenden">
<input type="reset" value=" Abbrechen">
</form>
</html>

<?php
if (!$_POST["host"]='' AND !$_POST["port"]='' AND !$_POST["user"]='')
{

$host=$_POST["host"];
$port=$_POST["port"];
$user=$_POST["user"];
$pw=$_POST["pw"];

$connection = @ssh2_connect($host, $port);
 
@ssh2_auth_password($connection, $user, $pw);

$sftp = @ssh2_sftp($connection);
 
$localPath = "/home/test/testfile.txt";
$dir = "/home/target/";
$remoteFilename = "testtargetfile.txt";
$fullRemotePath = "ssh2.sftp://".$sftp.$dir.$remoteFilename;

@copy($localPath, $fullRemotePath);

}
?>

kann das funktionieren? habe leider nicht die möglichkeiten das ganze zu testen :(

irgendwas sagt mir das ich die verbindung noch beenden muss, den befehl such ich grad noch im datenmüll der internets ;)
 
Zuletzt bearbeitet:
Nein. Du musst die Verbindung auch nutzen und nicht mit copy arbeiten ... und lass das @ vor den Befehlen weg, weil du dem Codeausschnitt nach zu Urteilen nicht weisst wie man damit umgeht.
 
Zuletzt bearbeitet:
Enigma schrieb:
lass das @ vor den Befehlen weg, weil du dem Codeausschnitt nach zu Urteilen nicht weisst wie man damit umgeht.

Leider zu wahr :D Aber ob ich nun ne fehlermeldung bekomme oder nicht ist auch egal wenn ich es sowieso nicht testen kann ;)

was genau meinst du mit nutzen?
 
Wieso kannst du das nicht selbst testen?
Xampp ist in 2min installiert!

Genau, nim die @ weg!

Das kopieren würde ich mit ssh2_scp_send machen!
Hab aber auch noch nie mit SSH gearbeitet ...

Bei ssh gibt bzw. brauchst du kein disconnect, das macht der am ende das Skriptes von selbst!
 
schau mit phpinfo() nach, ob das SSH2 Modul geladen wurde.
Ansonsten muss es in der php.ini aktiviert werden.
 
in der gesamten php.ini bzw. auch auf der phpinfo seite taucht kein einziges mal "ssh" auf.
 
Machs doch anders: Installier dir ne VM-Software (z.B. VirtualBox), bügel dir in einer VM ein Linux aufs System und konfigurier selbiges als Server. Im Prinzip brauchste da kaum noch was nachinstallieren, nur den SSH-Server, Apache2, PHP5 und (wenn man schon dabei is) MySQL (oder n anderen SQL Server). Das Zeug dürft sich selbstständig in einen lauffähigen Zustand konfigurieren.
 
Und auch dann muss es aktiviert werden, weil es standardgemäß deaktiviert ist.
Aber aus Erfahrung kann ich sagen, dass man lieber die Finger von diesem Modul lassen sollte, da es oftmals nicht das macht, was man eigentlich erwartet.

XAMPP ist da so ne Sache, da es mehrere php.ini Dateien gibt, die sich alle gegenseitig überschreiben. Ich persönlich finde XAMPP als großen Mist. WampServer scheint mir da vielversprechender zu sein, aber ich muss zugeben, dass ich es nur einmal und auch nur sehr kurz getestet habe.
 
Zurück
Oben