通过shell脚本使用用户名和密码SSH到远程Windows计算机

通过shell脚本使用用户名和密码SSH到远程Windows计算机,windows,powershell,ssh,Windows,Powershell,Ssh,我试图通过使用远程计算机的用户名和密码SSH到远程Windows计算机(AWS ec2实例)。我需要自动连接以从我的脚本(shell或Power shell)运行一些远程命令,而无需提示我输入密码,我的脚本不应该因为需要提示密码而失败 我不想使用sshpass或任何生成的密钥(通过使用ssh-keygen)。由于运行此命令/脚本的源计算机不是专用计算机,因此每次我都可能在不同的计算机上运行它。我还尝试使用AWS提供的.PEM文件进行连接,如下所示(我认为在脚本中使用它会很容易) 即使我使用了.P

我试图通过使用远程计算机的用户名和密码SSH到远程Windows计算机(AWS ec2实例)。我需要自动连接以从我的脚本(shell或Power shell)运行一些远程命令,而无需提示我输入密码,我的脚本不应该因为需要提示密码而失败

我不想使用sshpass或任何生成的密钥(通过使用ssh-keygen)。由于运行此命令/脚本的源计算机不是专用计算机,因此每次我都可能在不同的计算机上运行它。我还尝试使用AWS提供的.PEM文件进行连接,如下所示(我认为在脚本中使用它会很容易)

即使我使用了.PEM文件,它仍然希望我提供密码。我还尝试在远程Windows计算机中的路径“C:\Users\Administrator.ssh\”下创建一个文件“authorized_keys”。它仍然在提示我输入密码

期望:

使用PEM文件连接到远程Windows计算机并运行一些远程命令

(或)


当我尝试从某个脚本(shell/power shell)连接时,它不应该提示我输入密码。

我可以使用Plink命令实现这一点(执行此命令需要在源计算机上安装Putty)。现在,我能够成功地在脚本(Shell脚本)中传递用户名和密码,并且一切正常

仅供参考,我正在粘贴对我有效的确切命令

$echo y | plink -ssh Administrator@10.10.10.10 -pw abc123  "dir"

@Kenster,您共享的上述链接仍在谈论sshpass(或)生成密钥(或)使用Putty.exe,但没有一个答案涵盖我使用PEM文件连接远程Windows计算机(在AWS上运行)的确切问题,或者脚本不应失败提示输入密码。SSH命令应该接受用户名和密码您使用的是什么应用程序?SSH不是本机Powershell命令,因此~(我想你是在用Putty吗?也许你最好用应用程序名来标记这个问题,但你也可以尝试使用与之接口的Powershell模块-POSH-SSHI正在Jenkins管道代码上尝试这种方法,可以用Groovy编写。所以我用sh.来运行SHELL命令。所以在我的Jenkins fi中它可能像sh'ssh-i aws_keypair.pemAdministrator@10.10.10.10“dir”'然后它应该连接到远程WINDOWS机器,在那里执行dir命令,并显示输出。
$echo y | plink -ssh Administrator@10.10.10.10 -pw abc123  "dir"