Windows 批处理文件以通过SSH连接到Linux。怎么用?

Windows 批处理文件以通过SSH连接到Linux。怎么用?,windows,batch-file,ssh,openssh,Windows,Batch File,Ssh,Openssh,首先是显示安装在Windows 10上的OpenSSH的屏幕截图 上面,我在命令提示符中使用命令ssh-V,以确保安装了OpenSSH 现在..将下面的一行代码放入.bat文件中,通过ssh登录linux服务器,似乎没有任何作用 ssh -p 22 root@10.10.1.100 当我在windows 10命令提示符中键入相同的一行时,由于windows 10现在内置了OpenSSH,它会很好地将我登录。 我缺少什么?首先,不要将批处理文件命名为ssh.bat或ssh.cmd,最好使用可执

首先是显示安装在Windows 10上的OpenSSH的屏幕截图

上面,我在命令提示符中使用命令
ssh-V
,以确保安装了OpenSSH

现在..将下面的一行代码放入
.bat
文件中,通过ssh登录linux服务器,似乎没有任何作用

ssh -p 22 root@10.10.1.100
当我在windows 10命令提示符中键入相同的一行时,由于windows 10现在内置了OpenSSH,它会很好地将我登录。


我缺少什么?

首先,不要将批处理文件命名为
ssh.bat
ssh.cmd
,最好使用可执行文件的完整路径:

@echo off
"C:\Windows\System32\OpenSSH\ssh.exe" -p 22 root@10.10.1.100
pause
但最好使用
%windir%
环境变量:

@echo off
"%windir%\System32\OpenSSH\ssh.exe" -p 22 root@10.10.1.100
pause

没用。在您的方法中,提示符认为
ssh
是主机名参数。
C:\Windows\System32\OpenSSH\ssh.exe-p 22root@10.10.1.100
这很有效。所以我下面的答案是否仍然合适,或者我应该使用您的解决方案进行更新,因为我们并没有真正关注PowerShell?您可以留下答案,我将用我的解决方案发布另一个答案。而是正确地修复它。见