如何从Windows执行Unix shell脚本

Joh*_*ant 6 .net unix windows shell cross-platform

我有一个我想从.NET应用程序运行的AIX脚本.我不反对开启Windows批处理文件,如果这给了我更好的选择.

我在Google上看到的大部分内容都与使用rsh或Plink等工具或使用ssh或telnet有关.我没有访问rsh或Plink(虽然我有PuTTY,可能会得到Plink).我可以ssh到AIX框,但telnet被禁用.

我需要一种传递用户凭据的方法.

任何人都可以推荐从Windows应用程序调用Unix脚本的最佳方法吗?

Tan*_*lus 5

安装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 - 这使事情变得更容易.

  • 谢谢你的回答.两个相关的问题:(1)为什么使用cygwin的ssh实用程序而不是Windows ssh实用程序更好?(2)关键是什么?这是否允许跨平台身份验证,还是只是一种非对称加密密码的方式? (2认同)