使用 Process.Start() 访问 ssh
Posted
技术标签:
【中文标题】使用 Process.Start() 访问 ssh【英文标题】:Accessing ssh with Process.Start () 【发布时间】:2021-06-05 17:28:53 【问题描述】:我有一个启动 ssh 命令的批处理文件。它使用 Windows 10 中包含的 OpenSSH 客户端 (c:\Windows\System32\OpenSSH\ssh.exe) 如果我在资源管理器中双击批处理文件,它可以正常工作。如果我从 cmd.exe 窗口运行它,它也可以正常工作。但是,如果我从 C# 应用程序使用
运行它,它不会找到 ssh.exeProcess process = new Process ();
process.StartInfo.FileName = string_to_batch_file;
process.Start ();
问题的根源是如果我从 C# 应用程序启动 System32 下的“OpenSSH”目录不可见。如果我把
dir c:\Windows\System32\
pause
在批处理文件中并从资源管理器中启动它,“OpenSSH”目录是可见的。如果我从 C# 应用程序启动它,则不是。
这种行为的原因是什么?我可以做些什么来解决这个问题?
【问题讨论】:
【参考方案1】:按照 Mofi 的建议,这是 32 位/64 位的问题。我以前没有想过。我刚刚将我的 C# 应用程序切换到 64 位。
【讨论】:
以上是关于使用 Process.Start() 访问 ssh的主要内容,如果未能解决你的问题,请参考以下文章