通过Windows命令提示符执行带密码验证的ssh

Balachandar 90 passwords ssh command-line

我需要通过以非交互方式提供密码从Windows命令行执行ssh.我可以实现基于密钥的身份验证,并能够执行ssh命令

ssh <user>@<host> <command>

有没有像这样的命令

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

在此输入图像描述

我不知道它是否可行.但是,可以有一些相同的工作.给我一些想法来实现同样的目标.

小智.. 161

sshpass工具是为正是这一点.首先,键入以下命令安装sshpass:

sudo apt-get install sshpass

然后在前面加上你的ssh/scp命令

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

使用Linux时,此程序最容易安装.

用户应该考虑使用SSH更安全的公钥认证(使用ssh命令).

  • 因为标题不包含"windows",并且在为Linux/Unix/Mac搜索时它在列表中显示为高.所以,在这里回答这个问题可以节省时间. (15认同)
  • 也适用于rsync. (8认同)
  • 您应该知道已执行的shell命令已存储(例如在'.bash_history'中). (5认同)
  • Anish - 作者要求windows,你给linux选项. (3认同)

Illarion Kov.. 24

这个期望脚本怎么样?

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


Greg Inozemt.. 11

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