【问题标题】:Execute a shell script in another unix machine using SSH [duplicate]使用 SSH 在另一台 unix 机器上执行 shell 脚本 [重复]
【发布时间】:2013-10-03 14:43:34
【问题描述】:

我正在尝试使用以下命令从我的 unix 机器中执行另一个 unix 机器中存在的脚本:

HOST=myhostname
USER=myuser

ssh -o StrictHostKeyChecking=no -l $USER $HOST "/tmp/myscript.sh"

但是命令提示我输入密码,但我不希望命令提示输入密码,而不是我想将密码作为参数传递给我的命令。但我找不到将密码作为参数传递给SSH 命令的选项。

请帮助我如何发送密码作为命令的一部分,而不是提示它的命令。我正在使用 BASH shell 脚本。

【问题讨论】:

标签: bash unix ssh


【解决方案1】:

使用期望

将其保存为 mylogin.exp(或您喜欢的其他名称),然后更改名称和密码:

#!/usr/bin/expect -f
spawn ssh myname@some_server.com
expect {
   password:   {send "mypassword\n"}
}
interact

然后运行命令:

./mylogin.exp

这只会让你登录。如果你想运行一个命令,你可以把它放在 ssh 命令的末尾。

【讨论】:

    猜你喜欢
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多