我想从我的Windows运行sshpass
命令到远程Linux服务器。我使用这个命令:
sshpass -p 'password' ssh ldap.nextstep4it.com -l root -o StrictHostKeyChecking=no
字符串
但是我的cmd返回下面的错误声明:
“sshpass”无法识别为内部或外部命令、可操作程序或批处理文件。
我认为这是因为Windows没有像Linux那样的sshpass
包。在Linux中,我必须安装sshpass
包才能运行此命令。
有没有人知道如何通过Windows命令行运行sshpass
命令?
6条答案
按热度按时间tgabmvqs1#
你不能在windows中运行sshpass。你可以通过windows命令行使用putty来实现同样的功能。
字符串
您也可以上传文件通过命令行(与密码)使用WinSCP
型
atmip9wb2#
除了OpenSSH
ssh
,您还可以使用PuTTYplink
。它是PuTTY的命令行等价物,并且与OpenSSHssh
具有非常相似的命令行语法。但在它的顶部,它有-pw
开关,用于提供密码。ssh
调用的plink
等价物是:字符串
绝对不应该使用
-o StrictHostKeyChecking=no
盲目接受所有主机密钥。这是一个安全漏洞。您将失去对MITM attacks的保护。相反,使用plink
,您可以使用-hostkey
开关来设置预期主机密钥的指纹。类似地:
pscp
代替OpenSSHscp
;psftp
代替OpenSSHsftp
。两者都有
-pw
交换机。或者,对于SCP和SFTP,您可以使用 myWinSCP SFTP/SCP client。WinSCP还支持在命令行/脚本中提供密码。还有一个converting OpenSSH
sftp
script to WinSCP script的指南。无论你使用的是OpenSSH、PuTTY还是WinSCP,使用公钥认证总是比使用密码更好。
zte4gxcn3#
使用 Windows Subsystem for Linux(
WSL
);首先转到Settings
->Turn Windows Features On or Off
->Enable Windows Subsystem for Linux
,然后从Microsoft Store
下载并安装Ubuntu或其他Linux。要从
cmd.exe
访问WSL,请键入bash
或wsl
字符串
从windows环境中调用,例如。
cmd.exe
或Process.Start()
型
u5rb5r594#
您可以安装Windows版QtdSync。
这将包含sshpass.exe
b0zn9rqh5#
只需在Windows中安装cygwin,然后下载sshpass并编译/安装它,整个过程快速简单,在我的环境中工作得很好。
xfb7svmp6#
你可以试试
putty
。从here下载
或者您可以安装cygwin并安装sshpass,但这将是一个更大的任务。
所以,如果你需要一个无密码登录,那么你可以使用putty,你可以从上面提供的相同链接安装。