linux Windows上的“无法识别sshpass”

ryhaxcpt  于 2023-08-03  发布在  Linux
关注(0)|答案(6)|浏览(326)

我想从我的Windows运行sshpass命令到远程Linux服务器。我使用这个命令:

sshpass -p 'password' ssh ldap.nextstep4it.com -l root -o StrictHostKeyChecking=no

字符串
但是我的cmd返回下面的错误声明:
“sshpass”无法识别为内部或外部命令、可操作程序或批处理文件。
我认为这是因为Windows没有像Linux那样的sshpass包。在Linux中,我必须安装sshpass包才能运行此命令。
有没有人知道如何通过Windows命令行运行sshpass命令?

tgabmvqs

tgabmvqs1#

你不能在windows中运行sshpass。你可以通过windows命令行使用putty来实现同样的功能。

putty -load "host" -l username -pw password

字符串
您也可以上传文件通过命令行(与密码)使用WinSCP

winscp /command "option batch abort" "option confirm off" "open sftp://user:password@example.com/" "put examplefile.txt /home/user/" "exit"

atmip9wb

atmip9wb2#

除了OpenSSH ssh,您还可以使用PuTTY plink。它是PuTTY的命令行等价物,并且与OpenSSH ssh具有非常相似的命令行语法。但在它的顶部,它有-pw开关,用于提供密码。
ssh调用的plink等价物是:

plink ldap.nextstep4it.com -l root -pw password

字符串
绝对不应该使用-o StrictHostKeyChecking=no盲目接受所有主机密钥。这是一个安全漏洞。您将失去对MITM attacks的保护。相反,使用plink,您可以使用-hostkey开关来设置预期主机密钥的指纹。
类似地:

两者都有-pw交换机。
或者,对于SCP和SFTP,您可以使用 myWinSCP SFTP/SCP client。WinSCP还支持在命令行/脚本中提供密码。还有一个converting OpenSSH sftp script to WinSCP script的指南。
无论你使用的是OpenSSH、PuTTY还是WinSCP,使用公钥认证总是比使用密码更好。

zte4gxcn

zte4gxcn3#

使用 Windows Subsystem for LinuxWSL);首先转到Settings-> Turn Windows Features On or Off-> Enable Windows Subsystem for Linux,然后从Microsoft Store下载并安装Ubuntu或其他Linux。
要从cmd.exe访问WSL,请键入bashwsl

sudo apt-get install sshpass

sshpass -p passxxxx ssh user@ip.address 'touch newfileonserver.txt'

字符串
从windows环境中调用,例如。cmd.exeProcess.Start()

bash -c "sshpass -p passxxxx ssh user@ip.address 'touch newfileonserver.txt' "

u5rb5r59

u5rb5r594#

您可以安装Windows版QtdSync。
这将包含sshpass.exe

b0zn9rqh

b0zn9rqh5#

只需在Windows中安装cygwin,然后下载sshpass并编译/安装它,整个过程快速简单,在我的环境中工作得很好。

xfb7svmp

xfb7svmp6#

你可以试试putty
here下载
或者您可以安装cygwin并安装sshpass,但这将是一个更大的任务。
所以,如果你需要一个无密码登录,那么你可以使用putty,你可以从上面提供的相同链接安装。

相关问题