我一直在努力自动ssh到Linux服务器。什么是疯了,是我可以创建一个.bat脚本,它会做,但我必须在那里,输入密码。
我已尝试使用c#中的System.Diagnostics.Process对象自动执行此操作。我发现,没有办法让这个对象允许你看到密码提示。它将每一行放到那一点,然后不再输出任何行。
cmd.exe,非常适合允许您在脚本中从进程跳转到进程;它将所有内容整合到一个屏幕中,只是提示您输入密码等内容,然后输入密码。
在C#中是否有任何简单方法使cmd.exe认为你是一个人在输入它,所以我可以通过编程模拟这个?否则,System.Diagnostics.Process似乎没有提供与输出密码提示的进程交互的方法。当你在cmd.exe中运行相同的东西时,你永远不会看到明显发生的提示
答案 0 :(得分:2)
cmd.exe不是SSH客户端;它只是一个壳。探索实际客户的功能。在PuTTY(非常受欢迎!)中,如果您有SSH密钥,则会有自动登录功能。
答案 1 :(得分:1)
答案 2 :(得分:1)
在不知道您使用哪个命令行工具ssh到服务器的情况下,没有提供密码的命令行参数。
C:\> ssh user@ip -p password
或者您尝试过输入重定向:
ssh user@ip <
Yourpassword
EOF
在查看earlier问题时,您在使用程序员界面时遇到了什么麻烦?
您确定需要一个完整的ssh客户端,还是只想远程执行命令?如果是后者,您可能需要查看plink。
答案 3 :(得分:0)
plink.exe -ssh user @ host -2 -i user.ppk -m command_line.txt
如何创建ppk文件:http://theillustratednetwork.mvps.org/Ssh/Private-publicKey.html