我正在尝试使用以下命令从我的unix框执行另一台unix机器中的脚本:
HOST=myhostname
USER=myuser
ssh -o StrictHostKeyChecking=no -l $USER $HOST "/tmp/myscript.sh"
但是命令提示我输入密码,但是我不希望命令提示输入密码,而不是我要将密码作为我的命令的参数传递。但我无法找到将密码作为参数传递给SSH
命令的选项。
请帮我介绍如何发送密码作为命令的一部分,而不是提示它的命令。我正在使用BASH shell脚本。
答案 0 :(得分:0)
将其保存为mylogin.exp(或您喜欢的其他名称),并更改名称和密码:
#!/usr/bin/expect -f
spawn ssh myname@some_server.com
expect {
password: {send "mypassword\n"}
}
interact
然后运行命令:
./mylogin.exp
这只会让你登录。如果你想改为运行一个命令,你可以把它放在ssh命令的末尾。