我需要在非交互方式提供密码,以执行从Windows命令行 SSH。 我可以实现基于密钥的认证和能够执行SSH命令一样
ssh <user>@<host> <command>
有没有像任何命令
ssh <user>@<host> -P <password> <command>
我不知道这是否是可行的。 然而,可以有一些工作,对同一。 扔我的一些想法来完成相同的。
我需要在非交互方式提供密码,以执行从Windows命令行 SSH。 我可以实现基于密钥的认证和能够执行SSH命令一样
ssh <user>@<host> <command>
有没有像任何命令
ssh <user>@<host> -P <password> <command>
我不知道这是否是可行的。 然而,可以有一些工作,对同一。 扔我的一些想法来完成相同的。
PuTTY的砰砰有密码的命令行参数 。 其他一些建议已经做出了这个问题的答案 :使用期待(这是适用于Windows),或用Python写的paramiko用一个发射器。
该sshpass工具是为正是这一点。 首先,通过键入以下命令进行安装sshpass:
sudo apt-get install sshpass
然后前面加上您的SSH / SCP命令
sshpass -p '<password>' <ssh/scp command>
这个程序是最容易使用Linux时安装。
用户应该考虑使用SSH的更加安全的公共密钥验证(使用ssh
命令)来代替。
关于这个有什么期待脚本?
#!/usr/bin/expect -f
spawn ssh root@myhost
expect -exact "root@myhost's password: "
send -- "mypassword\r"
interact
的Windows解决方案
Windows-Key + R
putty.exe -ssh [username]@[hostname] -pw [password]
PowerShell的解决方案
使用辣妹-SSH:
New-SSHSession -ComputerName 0.0.0.0 -Credential $cred | Out-Null
Invoke-SSHCommand -SessionId 1 -Command "nohup sleep 5 >> abs.log &" | Out-Null