[英]How to execute a shell script on a server using windows application
[英]How to execute a Unix shell script from Windows
我有一個我想從.NET應用程序運行的AIX腳本。 我不反對開啟Windows批處理文件,如果這給了我更好的選擇。
我在Google上看到的大部分內容都與使用rsh或Plink等工具或使用ssh或telnet有關。 我沒有訪問rsh或Plink(雖然我有PuTTY,可能會得到Plink)。 我可以ssh到AIX框,但telnet被禁用。
我需要一種傳遞用戶憑據的方法。
任何人都可以推薦從Windows應用程序調用Unix腳本的最佳方法嗎?
安裝cygwin。 包括ssh函數。 設置你的ssh密鑰 - windows上的私鑰,AIX盒子上的公鑰。 然后你可以運行“ssh user @ aixbox script-on-aix-box.sh”。
最好在AIX上安裝腳本,盡管您可以先使用scp將文件復制到AIX。 通過ssh傳遞一個長命令行是容易出錯的 - 不是因為它是ssh,而是因為正確設置從.NET通過ssh傳遞到ksh或者在AIX上運行的任何東西的轉義只是很痛苦。 最好保持事情盡可能簡單,最好只是一個命令,然后可以是一個執行多項操作的腳本。
要回答您的意見,這可能需要很長時間才能發表另一條意見:
(1)為什么使用cygwin的ssh實用程序而不是Windows ssh實用程序更好?
a)我知道它更好,所以我不知道建議任何Windows ssh實用程序(我甚至不知道Windows帶有ssh實用程序),和b)cygwin的ssh實用程序更有可能成為標准ssh所有熟悉我們unix怪胎的愛。 :-)
(2)關鍵是什么? 這是否允許跨平台身份驗證,還是只是一種非對稱加密密碼的方式?
密鑰允許無密碼訪問。 如果您將私鑰設置為無密碼(通常不推薦,但如果您可以保證機器安全,它適用於自動化工具),您的工具將能夠在沒有密碼提示的情況下進行ssh - 這使事情變得更容易。
ssh eximadmin@172.16.12.10“cat somefile.log”
(其中cat somefile.log將替換為您要運行的命令)
我認為最簡單的方法是從您的.net應用程序調用的批處理文件中調用您的ssh程序(無論是ssh,plink還是其他)。
我是第二個cygwin建議,但你有另一個選擇是Microsoft的UNIX服務 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.