Ausführen von exe oder bat-Datei auf remote Windows-Maschine von * nix

7

Ich versuche, eine Fledermaus-Datei auf der Remote-Windows-Maschine in der Cloud von meinem Linux auszuführen. Die bat-Dateien starten Selenserver und dann werden meine Selentests ausgeführt. Ich bin nicht in der Lage, Selen RC Server auf dieser Maschine zu starten. Ich habe versucht mit Telnet, aber das Problem damit ist, wenn Telnet-Sitzung geschlossen ist, ist der RC-Server-Port auch geschlossen. Als mein Code muss mein Code den Server starten, also habe ich mit ANT telnet task versucht und auch shell script von telnet auf beiden Wegen ausgeführt, der Port wurde geschlossen.

Ich lese über Open SSH, psexec für Linux und Cygwin. Aber ich bekomme nicht, wie man diese benutzt und sie werden mein Problem lösen.

Ich habe versucht, einen Dienst zu starten, der den Server startet, aber bei dieser Methode bekomme ich keinen Browser sichtbar, alle Tests laufen im Hintergrund, da mein Skript Screenshot-Browser-Sichtbarkeit erfordert.

Jetzt ist meine Frage was zu verwenden ist und was für meinen Job vorzuziehen ist. und was auch immer ich wähle sollte durch Code ausgeführt werden, kann es durch Shell, Ant oder PHP sein.

Vielen Dank im Voraus.

    
lAH2iV 12.08.2011, 06:19
quelle

3 Antworten

7

Ich bevorzuge es, cygwin zu verwenden und SSH zu verwenden, um mich dann an der Windows-Maschine anzumelden, um Befehle auszuführen. Beachten Sie, dass cygwin standardmäßig OpenSSH nicht installiert hat.

Sobald SSH auf der Windows Maschine läuft, können Sie einen Befehl von der Linux Maschine wie folgt ausführen:

%Vor%

Sie können auch ssh-Authentifizierungsschlüssel einrichten, sodass Sie nicht jedes Mal ein Passwort eingeben müssen.

    
Lee Netherton 12.08.2011, 08:20
quelle
15

Sehen wir uns die verschiedenen Optionen an, die Sie erwähnt haben:

  • psexec : Das ist so ziemlich eine PC-Sache. Außerdem müssen Sie sicherstellen, dass neuere Windows-Computer die standardmäßig eingerichtete Benutzerkontensteuerung durchqueren können. UAC ist die Sache, die Sie die ganze Zeit über Vista und Windows 7 sehen, wenn Sie versuchen, etwas zu tun, das Administratorrechte benötigt. Sie können etwas versuchen, das winexe genannt wird, welches ein Linux-Programm ist, das das Protokoll psexec ausführen kann, aber ich habe hatte Probleme, es zur Arbeit zu bringen.
  • OpenSSH : Es gibt zwei Hauptarten von SSH, und Open SSH wird von den meisten Websites verwendet. SSH hat mehrere Vorteile gegenüber anderen Methoden:
    • SSH ist sicher : Ihr Netzwerkverkehr ist verschlüsselt.
    • SSH kann passwortunabhängig sein : Sie können SSH so einrichten, dass private / öffentliche Schlüssel verwendet werden. Auf diese Weise müssen Sie das Kennwort auf dem Remote-Server nicht einmal kennen. Dies macht es sicherer, da Sie keine Passwörter auf verschiedenen Systemen gespeichert haben. Und auf vielen Windows-Websites müssen die Kennwörter etwa jeden Monat geändert werden oder das Konto ist gesperrt.
    • SSH kann mehr als nur entfernte Befehle ausführen : Es gibt zwei Unterprotokolle auf SSH, die SCP und SFTP genannt werden. Mit diesen Dateien können Sie Dateien zwischen zwei Computern übertragen. Da sie über SSH arbeiten, erhalten Sie alle Vorteile von SSH , einschließlich verschlüsselter Pakete und Schutz des öffentlichen / privaten Schlüssels.
    • SSH ist in der Unix-Welt gut implementiert : Sie finden SSH-Clients in Ant , Maven und andere Build-Tools. Programme wie CVS, Subversion und Git können auch über SSH-Verbindungen funktionieren. Leider arbeitet Windows World in einer anderen Raumzeitdimension. Um SSH auf einem Windows-System zu verwenden, benötigen Sie Software von Drittanbietern wie Cygwin.
  • Cygwin : Cygwin ist eine Art seltsames Biest. Es ist eine Schicht über Windows, die viele der Unix / GNU-Bibliotheken über Windows arbeiten lässt. Es wurde ursprünglich entwickelt, damit Unix-Entwickler ihre Software auf Windows DOS-Systemen ausführen können. Cygwin enthält jedoch jetzt ein vollständiges Unix-ähnliches System mit Tools wie Perl und Python, BASH-Shell und vielen Dienstprogrammen wie einem SSH-Server. Da Cygwin Open Source ist, können Sie es kostenlos herunterladen und SSH-Server ausführen. Leider hatte ich Probleme mit Cygwins SSH-Server. Ein weiteres Problem: Wenn Sie Programme remote ausführen, möchten Sie sie wahrscheinlich in einer Windows-Umgebung und nicht in der Cygwin-Umgebung ausführen.

Ich empfehle Ihnen, sich WinSSHD von Bitvise anzuschauen. Es ist eine OpenSSH-Implementierung des SSH-Servers, aber es ist nicht Open Source. Es ist ungefähr 100 $ pro Lizenz und Sie benötigen eine Lizenz auf jedem Server. Es ist jedoch eine robuste Implementierung und verfügt über alle Funktionen, die SSH zu bieten hat.

Sie können sich CoSSH ansehen, ein Paket von Cygwin-Dienstprogrammen und OpenSSH-Server. Dies ist kostenlos und alle Open Source, aber wenn Sie eine einfache Möglichkeit der Einrichtung möchten, müssen Sie für die Advanced Administrator Console . Sie brauchen die Advanced Administrator Console nicht, da Sie Cygwin verwenden können, um alles einzurichten, und es kommt mit einer grundlegenden Konsole zu helfen.

    
David W. 12.08.2011 14:12
quelle
-3

Nicht sehr sicher, aber wenn Sie einen laufenden Webserver haben, können Sie PHP oder ASP verwenden, um einen Systembefehl auszulösen. Verstecke einfach das Thgat-Skript unter www.myserver.com/02124309c9867a7616972f52a55db1b4.php oder so. Und stellen Sie sicher, dass der Befehl fest im Code geschrieben ist und nicht über den Parameter ...

geöffnet wird     
xuedi 12.08.2011 08:15
quelle

Tags und Links