Starten Sie eine interaktive SSH-Bash-Sitzung von PHP

9

Ich benutze PHP, um Verknüpfungen für allgemeine Server-Admin-Aufgaben zu schreiben (ich benutze deployer.org, aber das sollte nicht wichtig sein). Ich möchte eine Aufgabe zum Starten einer interaktiven Bash-Eingabeaufforderung nach dem SSHing auf einen Server hinzufügen. Zum Beispiel würden Sie "./dep ssh" ausführen (wobei "dep" ein PHP-Skript ist), und dies würde den gleichen Effekt haben wie z. "ssh user @ server" vom Terminal. Gibt es eine Möglichkeit, dies in PHP zu tun? Für den Kontext habe ich etwa 5 Server, in die ich häufig SSH einsteigen möchte, oder Logs lesen, oder Dateien kopieren usw., also möchte ich Abkürzungen dafür.

Der nächste, den ich bekommen konnte, ist ungefähr so:

%Vor%

Damit können Sie Befehle an und von bash senden, aber Sie sehen nicht die normale Bash-Eingabeaufforderung oder die Tab-Vervollständigung. Ich brauche so etwas, aber mit all den normalen Bash Features funktioniert.

    
fstr 22.12.2015, 03:50
quelle

3 Antworten

1

Wenn Sie nur SSH im Webbrowser suchen, suchen Sie möglicherweise eines der folgenden Produkte:

  • Google Secure Shell-Erweiterung für Chrome und Chromium
  • Anyterm
  • Ajaxterm
  • Tor Eins
  • webmux
  • WebShell
  • EC2Box
  • Schlüsselbox
  • KeyBox-OpenShift
  • Mist.io

Hier ist ein Link , den Sie vielleicht ansehen möchten.

    
anand 22.12.2015, 05:35
quelle
0
%Vor%

Leider wird es spät, damit ich es nicht beenden kann = D. Das Hauptproblem ist hier das Lesen der Eingabe ( fgets passiert nur, nachdem der Benutzer eine neue Zeile eingegeben hat, so dass er "\ t" nicht erkennen kann). Ich versuche, es mit read vorzutäuschen, aber es ist wirklich fehlerhaft.

fgetc funktioniert auch nicht, das erfordert die Benutzereingabe abgeschlossen zu sein.

Mein nächster Schritt wäre, zu untersuchen, wie tty arbeitet, und zu versuchen, es so zu hacken. Aber natürlich müsstest du noch viel arbeiten, um die Ausgabe von compgen relevant zu machen. Dies würde beinhalten, herauszufinden, welche Argumente und Optionen an compgen gesendet werden sollen (d. H. Ob der Benutzer einen Befehl oder einen Dateinamen eingibt).

    
robert 22.12.2015 07:25
quelle
-1

Schauen Sie sich dieses ssh2 -Modul in PHP an, Dokumentation ist hier .

So können Sie Ihre Befehle verbinden und ausführen:

%Vor%     
anand 22.12.2015 04:42
quelle

Tags und Links