我想将sshpass
命令从我的Windows运行到远程Linux服务器。我使用以下命令:
sshpass -p 'password' ssh ldap.nextstep4it.com -l root -o StrictHostKeyChecking=no
但是,我的cmd返回错误语句下面:
“‘sshpass”不被识别为内部或外部命令、可操作的程序或批处理文件。
我认为这是因为Windows没有像Linux那样有sshpass
包。在Linux中,我必须安装sshpass
包才能运行这个命令。
有没有人知道如何通过Windows命令行运行sshpass
命令?
发布于 2014-05-15 04:55:38
你不能在窗户里运行飞碟。不过,您可以通过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"
发布于 2020-09-28 18:52:34
您可以使用OpenSSH ssh
代替plink
。它的命令行等价于PuTTY,具有与OpenSSH ssh
非常相似的命令行语法。但最重要的是,它有提供密码的交换机。
与您的plink
调用相同的ssh
调用是:
plink ldap.nextstep4it.com -l root -pw password
您绝对不应该使用-o StrictHostKeyChecking=no
盲目地接受所有主机键。这是一个安全漏洞。你失去了对MITM攻击的保护。相反,使用plink
,您可以使用-hostkey
开关来设置预期主机密钥的指纹。
同样:
两者都有-pw
开关。
或者,对于SCP和SFTP,您可以使用我的WinSCP SFTP/SCP客户端。WinSCP还支持在命令行/in脚本上提供密码。还有一个关于脚本到WinSCP脚本的指南。
不管如何,如果使用OpenSSH、PuTTY或WinSCP,最好是使用公钥身份验证,而不是密码。
发布于 2020-03-30 17:08:28
使用(WSL
);首先转到Settings
->Turn Windows Features On or Off
->Enable Windows Subsystem for Linux
,,然后从Microsoft Store
下载并安装Ubuntu或另一个Linux。
要从cmd.exe
类型的bash
或wsl
访问WSL,我建议为终端提供超高压,因为它有选项卡。
sudo apt-get install sshpass
sshpass -p passxxxx ssh user@ip.address 'touch newfileonserver.txt'
从窗口环境调用,如。cmd.exe
或Process.Start()
bash -c "sshpass -p passxxxx ssh user@ip.address 'touch newfileonserver.txt' "
https://stackoverflow.com/questions/23419659
复制相似问题