通过Windows命令提示符通过密码身份validation执行ssh

我需要通过以非交互方式提供密码从Windows命令行执行ssh 。 我可以实现基于密钥的身份validation,并能像执行ssh命令一样

ssh <user>@<host> <command> 

有没有类似的命令?

 ssh <user>@<host> -P <password> <command> 

在这里输入图像说明

我不知道这是否可行。 但是,也可以有一些相同的工作。 抛出一些想法来实现这一点。

PuTTY的plink有一个用于密码的命令行参数 。 在这个问题的答案中已经提出了一些其他build议:使用Expect(可用于Windows)或者用Paramiko在Python中编写启动程序。

sshpass实用程序就是为了这个。 首先,input以下命令来安装sshpass:

 sudo apt-get install sshpass 

然后用你的ssh / scp命令

 sshpass -p '<password>' <ssh/scp command> 

这个程序在使用Linux时最容易安装。

用户应该考虑使用SSH更安全的公钥authentication(使用ssh命令)。

这个期望的脚本呢?

 #!/usr/bin/expect -f spawn ssh root@myhost expect -exact "root@myhost's password: " send -- "mypassword\r" interact