我一直在努力自动ssh进入Linux服务器。什么是疯狂的,是我可以创建一个.bat脚本,这将做到这一点,但我必须身体力行才能输入密码。CMD.exe C#模拟器?
我已经尝试使用System.Diagnostics.Process对象在c#中自动执行此操作,但没有结束。我发现,没有办法让这个对象允许你看到密码提示。它把每一行都放到那一点,然后不输出更多的行。
cmd.exe,确实可以让你在脚本中从流程跳转到流程;这一切都整合到一个屏幕,只是提示你的东西,如密码,然后你键入它们。
有任何简单的方法,在C#中,使CMD.EXE认为你是一个人键入它,所以我可以模拟这个编程?否则,System.Diagnostics.Process似乎不提供与输出密码提示的进程进行交互的方式。你从来没有看到明确发生的提示,当您在运行CMD.EXE同样的事情
你有没有考虑设置SSH密钥以避免密码问题? http://oreilly.com/pub/h/66 – dsolimano 2010-01-15 18:46:45
是的,我已经做到了。实施时,批处理文件不会提示。但是,通过System.Diagnostics.Process,该进程在传递ssh-authentication密钥的位置停止输出行。 – 2010-01-15 21:13:47
也许认证是在另一个进程中执行的,而不是在进程对象中指定的进程。与cmd.exe不同,当进程调用另一个进程时,进程对象失去了被监视的能力。 – 2010-01-15 21:15:36