php -> ssh +- Sponsor-Board.de (https://www.sponsor-board.de) +-- Forum: Community (/forumdisplay.php?fid=56) +--- Forum: Hilfe (/forumdisplay.php?fid=102) +---- Forum: Scripting (/forumdisplay.php?fid=108) +---- Thema: php -> ssh (/showthread.php?tid=21824) |
php -> ssh - Stricted - 07.02.2012 05:22 Hallo ich suche eine class um via php zu ssh zu connecten ich bin momentan dabei ein tsdns interface zu schreiben das ich veröffentlichen will da nun aber nicht jeder exec bzw. shell_exec ausführen kann oder will möchte ich das ganze über eine ssh verbindung laufen lassen da allerdings nicht jeder die ssh2 extension installiert hat muss ich es anders machen hat jemand ne idee wie ich zu ssh connecte oder kennt oder hat jemand villeicht eine ganze ssh connect class? bin über alle antworten dankbar MfG RE: php -> ssh - Joeym - 07.02.2012 06:57 Hallo, da exec sehr unsicher ist, macht man dies am besten mit TCP. RE: php -> ssh - Big Hosting - 07.02.2012 09:46 DU kannst uch einfach sh datien schrieben und diese aufrufen lassen. RE: php -> ssh - Stricted - 07.02.2012 14:18 für eine sh datei bräuchte man weder exec zugriff zum anderen mag mein php sh datein nicht sonderlich da ich selber nur ungern exec verwende und auch keine sinnlosen extensions installieren will brauchts halt eine alernative also nochmal hat jemand ne idee wie ich zu ssh connecte oder kennt oder hat jemand villeicht eine ganze ssh connect class? RE: php -> ssh - Timchen - 07.02.2012 15:43 Du hast selbst bereits folgende Möglichkeiten festgestellt:
... Und ich gehe mal stark davon aus, dass du dich für eine Sache davon entscheiden musst, denn mehr direkte Möglichkeiten gibt es meines Wissens nach nicht. Das, was du planst, ist etwas, was ich gerne "exotische Software" nenne, sprich: Es fällt nicht unter den Standardkram. Bei uns läuft annähernd jede "unexotische Software" - und mehr muss ein normaler Webspace auch nicht können, weil es eben nicht notwendig ist. Webspace ist ein Massenprodukt und muss genau auf diese Masse optimiert sein. Aber ich schweife schon wieder ab. => Wer ein entsprechendes Interface braucht, braucht eben auch die technische Infrastruktur (mal ganz sachlich formuliert) um das ans Laufen zu kriegen. Hier rate ich allerdings dringend zu einer Umsetzung mit entsprechender PHP-Extension, denn dort findet man wenigstens vielleicht einen passenden Webhoster. Bei exec() wird das schon deutlich schwieriger, da sich der Webhoster hier (mehr) Schutzmaßnahmen ausdenken muss. Also - zumindest sollte er das. =) Aber um dir mal weiterzuhelfen noch eine Idee meinerseits: Du könntest die Dinge, die zu erledigen sind, in eine MySQL-Tabelle schreiben. Ein Cronjob (Shellskript) könnte diese dann auslesen und durchführen. Okay, nicht jeder Hoster macht das mit. Bei uns aber aktivieren wir auf Wunsch auch derartige Cronjobs. Bevor jemand mit "Das ist gefährlich und verantwortungslos" kommt, kurz zur Absicherung: chown auf root, chmod auf 700, chattr +i setzen und schon kann der Kunde absolut nichts mehr an der Datei machen (die Schritte 1+2 reichen, aber wir wollen es ja so sicher wie möglich). Das Skript sollte natürlich vorher durch einen Webhoster-Mitarbeiter auch geprüft werden. Grüße RE: php -> ssh - Stricted - 07.02.2012 16:30 naja extensions hat nicht jeder und will nicht jeder installieren ich eingeschlossen da ich bei sowas ungern auf exec o.ä. setze brauche ich irgendwas um via ssh u connecten mir würde also eine ssh connect funktion/class genügen um es umzusetzen damit es auch wirklich jeder nutzen kann und nicht nur jene die die extensions installiert oder exec aktiviert haben ich habe ebenfalls beides aus RE: php -> ssh - RiekMedia - 07.02.2012 16:52 Es gibt nicht viele Möglichkeiten dies um zu setzen. Ich persönlich würde ssh2lib empfehlen. Zudem wer eine Software Hosten und ans laufen haben möchte, muss eben gewisse System Voraussetzungen mit sich bringen. und ssh2lib hat vielleicht nicht jeder Hoster installiert aber sehr sehr viele. RE: php -> ssh - Stricted - 07.02.2012 18:13 die sache ist diese ssh2lib habe ich persönlich nicht installiert und habe es nicht vor exec ist genauso abgestellt der sicherheit wegen da ich nicht vorhabe eines davon zu installieren bzw. zu aktivieren brauch ich alternativen RE: php -> ssh - RiekMedia - 07.02.2012 18:21 Du hast nicht viele Möglichkeiten! Um es genauer zu sagen mehrere Möglichkeiten gibt es nicht zumindest wüsste ich jetzt keine. RE: php -> ssh - KoKsPfLaNzE - 07.02.2012 20:23 wenn du alles wegen der sicherheit ausstellen will gibts da auch keine moeglichkeit, zu mindest ist mir da nichts bekannt. RE: php -> ssh - Timchen - 07.02.2012 21:22 Hallo, du verstehst es nicht, oder? Die üblichen Methoden hast du erkannt - die willst du nicht. Eine Alternative habe ich dir genannt - die ignorierst du. Frag meinetwegen noch 100 mal... Grüße RE: php -> ssh - Stricted - 07.02.2012 21:41 ..... ich suche doch nur etwas um auf ssh zu verbinden ich glaube eher du hast mich nicht verstanden RE: php -> ssh - Timchen - 07.02.2012 22:08 Dann erkläre es mir doch nochmal, damit ich dir anschließend zeigen kann, dass ich Recht hatte... RE: php -> ssh - Stricted - 07.02.2012 22:20 bei was sollst du bitte recht haben ich such doch nur etwas um mit PHP zu SSH zu verbinden nix weiteres da brauch ich keine crons anlegen RE: php -> ssh - Timchen - 07.02.2012 22:24 Terrax2 schrieb: bei was sollst du bitte recht haben
Mit meiner Aussage, dass du nicht verstehst, deine Möglichkeiten bereits erkannt zu haben. Terrax2 schrieb: ich such doch nur etwas um mit PHP zu SSH zu verbinden
Ach, und man hat dir keine Möglichkeiten genannt und dir auch nicht mitgeteilt, dass du nichts weiter tun kannst? Terrax2 schrieb: da brauch ich keine crons anlegen
... Programmier besser keine Software.
RE: php -> ssh - Stricted - 07.02.2012 22:37 wenn du meinst nur weil jemand nich deiner meinung is musst du nich gleich sagen "Programmier besser keine Software" sowas ist lächerlich und armsehlich ich such keinen besserwisser der nur seine meinung akzeptiert aber gut mach was du denkst MfG RE: php -> ssh - Timchen - 07.02.2012 22:55 Terrax2 schrieb: wenn du meinst
Meine ich. Terrax2 schrieb: nur weil jemand nich deiner meinung is musst du nich gleich sagen "Programmier besser keine Software"
Die Frage nach Recht und Unrecht ist mit der Frage nach der persönlichen Meinung und der Entgegensetzlichen absolut nicht gleichzusetzen. Terrax2 schrieb: sowas ist lächerlich und armsehlich
Meintest du: "armselig"? ^^ Terrax2 schrieb: wenn du meinst
nur weil jemand nich deiner meinung is musst du nich gleich sagen "Programmier besser keine Software" sowas ist lächerlich und armsehlich ich such keinen besserwisser der nur seine meinung akzeptiert aber gut mach was du denkst MfG
Terrax2 schrieb: ich such keinen besserwisser der nur seine meinung akzeptiert
Nein, ich weiß. Ich kann lesen. Du suchst nach jemandem, der dir eine nichtexistente Lösung für dein Problem präsentiert. Terrax2 schrieb: aber gut mach was du denkst
Das tue ich bereits, aber danke für den Tipp. Man kann auf seine Mitmenschen nicht gut genug achten! Sehr sehr vorbildlich von dir. Terrax2 schrieb: MfG
Unter Einbeziehung des restlichen Beitrags: Hättest du dir sparen können. RE: php -> ssh - Stricted - 07.02.2012 22:58 darauf werde ich nicht weiter eingehen für alle anderen wer ne idee hat wie ich via php zu ssh verbinden kann pls per pm melden RE: php -> ssh - Timchen - 07.02.2012 23:13 Terrax2 schrieb: darauf werde ich nicht weiter eingehen
Ach, echt? Das überrascht mich jetzt. Terrax2 schrieb: für alle anderen wer ne idee hat wie ich via php zu ssh verbinden kann pls per pm melden
Bitte verzeih mir, dass ich dir keine PN sende, sondern zum Wohle der Allgemeinheit (bzw. vor allem für zukünftige User oder Suchende) mit der gleichen Frage kurz und knapp die nicht in fertiger Form (als PHP-Klasse) downloadbare "Lösung" in Form einer knappen Anleitung präsentiere. RE: php -> ssh - Phil93 - 07.02.2012 23:36 Als erstes muss ich sagen: Das Problem wurde hier nicht wirklich sehr professionell geschildert. Deshalb habe ich mir nachträglich (also nach dem lesen des Beitrages) das Problem noch einmal ausführlicher erklären lassen. Dir, Timchen, muss ich sagen: Du bist ja ein ganz schlauer... Theoretisch würde EXEC gehen, nicht aber wenn du einen externen Server bedienen möchtest oder einen anderen Nutzer auf dem selben Server. Als Lösung für das Problem schlage ich folgende Möglichkeiten vor: 1. Eine SSL-gesicherte Verbindung und einen SSH-Parser für PHP (Sehr komplex zu machen, also nichts für Laien) 2. proc_open ( [Link: Registrierung erforderlich] ) verwenden, um die Anwendungen "ssh" (Linux, UNIX, Mac) oder ggf. (wenn möglich) "PuTTY" (Windows) zu kontrollieren. 3. Eine Extension für SSH-Verbindungen suchen und zu PHP hinzufügen (Ich denke, diese könnte es inzwischen auch geben - viele Massenwebhoster setzen inzwischen nicht mehr nur auf CGI, sondern auch auf PHP - und da muss der Server auch von Skripten vorkonfiguriert werden (zumindest Userdaten etc.)) EDIT: Rein aus freundlichkeit habe ich entschieden, ein SSH-Management-Framework für PHP zu basteln, und dieses als OpenSource zu veröffentlichen - Link wird noch beigefügt, dann kann der Thread auch zu.... RE: php -> ssh - Stricted - 07.02.2012 23:42 danke Phil93 haben ja grade im irc drüber gesprochen bin mal gespannt drauf RE: php -> ssh - Phil93 - 07.02.2012 23:49 Ein git repository wäre sehr praktisch dafür, da ich es ja als OpenSource kostenfrei für die Allgemeinheit programmiere. (Bin ja nicht Timchen, der lieber klugscheißt als sich irgend eine Möglichkeit einfallen zu lassen) -- KeyeXchange in php zu integrieren wird zwar schwierig, allerdings denke ich, dass ich das hinkriegen werd' Fragt sich nur: Willste SSH-Manager als Website-Implementation (dann pack' ich das gleich so mit rein) oder solls nur für andere Skripte als "Zwischenschaltung" dienen, wie die meisten Frameworks - bei Websitemanagement wäre sogar beides drin'... EDIT: Link zum git wird ebenfalls beigefügt. RE: php -> ssh - Stricted - 07.02.2012 23:50 für meine zwecke brauch sie keine Website-Implementation diese wäre aber sicherlich auch interessant RE: php -> ssh - Timchen - 07.02.2012 23:58 Phil93 schrieb: Dir, Timchen, muss ich sagen: Du bist ja ein ganz schlauer...
Vielen Dank! Phil93 schrieb: Theoretisch würde EXEC gehen, nicht aber wenn du einen externen Server bedienen möchtest oder einen anderen Nutzer auf dem selben Server.
Moment mal - du legst mir Worte in den Mund, die ich nie gesagt habe. Phil93 schrieb: 1. Eine SSL-gesicherte Verbindung und einen SSH-Parser für PHP (Sehr komplex zu machen, also nichts für Laien)
Ich glaube, du meinst ungefähr das, was ich oben geschrieben habe - in jedem Fall aber meinst du (genau wie ich) eine noch nicht fertige Lösung. Und das will der Threadersteller ja leider nicht. Phil93 schrieb: 2. proc_open ( [Link: Registrierung erforderlich] ) verwenden, um die Anwendungen "ssh" (Linux, UNIX, Mac) oder ggf. (wenn möglich) "PuTTY" (Windows) zu kontrollieren.
Ist sehr häufig deaktiviert. Ich bin auch recht froh darüber, dass unsere User die Anwendung "ssh" nicht "kontrollieren" können, wie du es nennst. Phil93 schrieb: 3. Eine Extension für SSH-Verbindungen suchen und zu PHP hinzufügen
Dir scheint beim Lesen des Thread entgangen zu sein, dass der Threadersteller keine unüblichen PHP-Extensions als Voraussetzung für seine Software haben will. Phil93 schrieb: viele Massenwebhoster setzen inzwischen nicht mehr nur auf CGI, sondern auch auf PHP
Wtf? Du weißt schon, dass CGI und PHP etwas völlig verschiedenes sind? PHP ist das, was ich im Endeffekt ausführen möchte. CGI hingegen ist die Einbindungsmethode von Skriptsprachen wie PHP in den Webserver. Phil93 schrieb: und da muss der Server auch von Skripten vorkonfiguriert werden (zumindest Userdaten etc.)
Hier ist mir jetzt nicht wirklich klar, was du meinst... Bitte erläutern. Phil93 schrieb: Rein aus freundlichkeit habe ich entschieden, ein SSH-Management-Framework für PHP zu basteln, und dieses als OpenSource zu veröffentlichen - Link wird noch beigefügt, dann kann der Thread auch zu....
Cool. Wann bist du fertig? Phil93 schrieb: Bin ja nicht Timchen, der lieber klugscheißt als sich irgend eine Möglichkeit einfallen zu lassen
RE: php -> ssh - Phil93 - 08.02.2012 00:14 ".cgi" (Oft anzufindene Dateiendung) -- üblicherweise "gebunden" an den Perl-Interpreter (".pl"-Skriptdateien) Voraussichtliche Fertigstellung des Skripts hängt davon ab, inwiefern sich Key-eXchange sich in PHP integrieren lässt. Zu proc_open: Der Threadersteller hat einen eigenen Server, kann proc_open also auch aktivieren wenn es nötig ist - wenn er dies nicht tut ist dies sein eigenes Problem. Zu unerwünschte PHP Extensions: Wenn sich das Problem nicht anders lösen lässt, als eine Extension einzubauen - Pech. Allerdings werde ich die Konfiguration mit ihm durchgehen und zudem wirds in dem OpenSource-Projekt auch eine genaue Anleitung zur Installation geben, sowie einen Hinweis, dass User von Massenwebhostern dieses Skript leider nicht verwenden können werden. Zu Vorkonfigurieren von Userdaten etc.: Naja, das hinzufügen von FTP-Usern, MySQL-Usern und anderen Zugängen erleichtern sich viele Massenwebhoster durch shell_exec, exec usw. - oder durch SSH-Kontrollskripte (Teils auch ".sh"-Skripte) So, nun muss ich aber erstmal weg - vllt. bearbeite ich mein Posting später nochmal oder beantworte Fragen später *g* RE: php -> ssh - Joeym - 08.02.2012 06:46 Hallo, wenn ich sehe was für Aufsätze Ihr schreibt wird einem ja schlecht. Wofür gibt es Protokolle? Um Sie nicht zu nutzen? Warum nicht per TCP? Ist keine Software und man braucht nur 2 Dateien. |