2011-08-12 140 views
7

我試圖在我的Linux上執行雲計算機上的遠程windows計算機上的bat文件。 bat文件啓動selenium服務器,然後運行我的硒測試。我無法在該機器上啓動硒RC服務器。我嘗試過使用Telnet,但問題在於,當telnet會話關閉時,RC服務器端口也關閉。由於我的代碼我的代碼必須啓動服務器,因此我嘗試了ANT telnet任務,並且還以兩種方式執行了telnet的shell腳本,這兩種方式都關閉了端口。從* nix執行exe或bat文件在遠程windows計算機

我讀過關於Open SSH,Linux和cygwin的psexec。但我沒有得到如何使用這些,他們會解決我的問題。

我試圖啓動服務,將啓動服務器,但在這種方法中,我沒有看到瀏覽器可見所有測試都在後臺運行,因爲我的腳本需要屏幕快照瀏覽器可見性是必須的。

現在我的問題是什麼使用,哪些將是我的工作更可取。 以及我選擇的應該由代碼執行,它可能是shell,ant或php。

在此先感謝。

+0

答案還應該能夠從shell腳本運行 – lAH2iV

回答

7

我更喜歡使用cygwin並使用SSH登錄到Windows機器來執行命令。請注意,默認情況下,cygwin沒有安裝OpenSSH。

一旦你有SSH工作在Windows機器上,你可以在它從Linux機器像這樣運行命令:

ssh [email protected] 'mycommand.exe' 

您還可以設置ssh authentication鍵,這樣你就不需要輸入每次都有一個密碼。

+0

您還可以使用密碼和[sshpass](https://sourceforge.net/projects/sshpass/)實用程序 –

-3

不是一個非常安全的方式,但如果您有一個正在運行的網絡服務器,您可以使用PHP或ASP觸發系統命令。只需隱藏www.myserver.com/02124309c9867a7616972f52a55db1b4.php或其他東西下的thgat腳本。並確保命令是固定的寫在代碼中,而不是通過參數打開...

15

讓我們通過你所提到的各種選項:

  • PSEXEC:這是一個很值得PC唯一的事情。另外,您必須確保較新的Windows計算機可以通過默認設置的UAC。當你嘗試做某些需要管理員權限的事情時,UAC是你在Vista和Windows 7上始終看到的東西。您可以嘗試一種叫做winexe的東西,這是一個可以執行協議的Linux程序,但是我在解決這個問題時遇到了問題。
  • OpenSSH:有兩種主要的SSH版本,Open SSH是絕大多數網站使用的版本。與其他方法相比,SSH有幾個優點:
    • SSH安全:您的網絡流量已加密。
    • SSH可以獨立於密碼:您可以設置SSH以使用私鑰/公鑰。這樣,您甚至不必知道遠程服務器上的密碼。這使得它更安全,因爲您沒有將密碼存儲在各種系統上。而且,在許多Windows站點中,密碼必須每個月左右更改一次,否則帳戶被鎖定。
    • SSH可以做的不僅僅是執行遠程命令:在SSH上有兩個子協議,分別稱爲SCP和SFTP。這些允許您在兩臺機器之間傳輸文件。由於它們的工作範圍是SSH,因此您將獲得包括加密數據包在內的SSH的所有優點以及公鑰/私鑰保護。
    • SSH在Unix世界很好地實現了:您會發現內置於Ant,Maven和其他構建工具中的SSH客戶端。像CVS,Subversion和Git這樣的程序也可以通過SSH連接工作。不幸的是,Windows World的運行時間不同。要在Windows系統上使用SSH,需要Cygwin等第三方軟件。
  • Cygwin:Cygwin是一種奇怪的野獸。它是Windows之上的一個層,允許許多Unix/GNU庫在Windows上工作。它最初的開發目的是允許Unix開發人員在 Windows DOS系統上運行他們的軟件。但是,Cygwin現在包含一個完整的Unix系統,包括諸如Perl和Python之類的工具,BASH shell以及諸如SSH服務器之類的許多實用程序。由於Cygwin是開源的,您可以免費下載並運行SSH服務器。不幸的是,我在Cygwin的SSH服務器上遇到了問題。另一個問題:如果您正在遠程運行程序,您可能希望在Windows環境中運行它們,而不是Cygwin環境。

我建議你看看Bitvise的WinSSHD。這是SSH服務器的OpenSSH實現,但它不是開源的。這是每個許可證大約100美元,並且您需要每臺服務器上的許可證。然而,這是一個強大的實現,並具有SSH所提供的所有功能。

你可以看看CoSSH這是一個Cygwin實用程序和OpenSSH服務器的包。這是免費的,所有的開源,但如果你想要一個簡單的方法來設置它,你必須支付Advanced Administrator Console。您不需要高級管理員控制檯,因爲您可以使用Cygwin設置所有內容,並且它附帶一個基本控制檯以提供幫助。

相關問題