作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
有谁知道从用 C# 编写的 Windows 服务启动 bash 脚本(在 linux 机器上运行)的优雅方法?
我只能想到 putty 进行自动登录并在登录时自动运行命令的某种组合。但这看起来很笨拙而且有点不安全。
安全性不需要非常高,因为这两个盒子都位于公司防火墙内的内部 LAN 上。并且只有系统管理员才能登录到 Windows 框。
最佳答案
您可以使用带有 key 身份验证的 SSH 来运行命令,而无需在您的应用程序中输入或存储密码。您必须在 Linux SSH 服务器中启用 key 身份验证(按照说明 here 创建 key 并将其存储在服务器上的适当位置)然后您可以运行
plink -i <key_location> user@machine "command"
在您的应用程序中通过 Process.Start()
plink 是与 PuTTY 捆绑在一起的命令行实用程序。
编辑:如果您不想要 PKI(这可能不是一个好主意,但您知道您的环境),您可以在 linux 框中设置一个 rsh 服务器并通过 rsh 发送命令。 (Cygwin's rsh 可能更适合 linux 机器)
关于windows - 如何从 Windows 服务在 Linux 上运行脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1501966/
我是一名优秀的程序员,十分优秀!