【问题标题】:ssh connect and commands programmaticallyssh 以编程方式连接和命令
【发布时间】:2017-07-16 13:49:10
【问题描述】:

我正在尝试通过 SSH 连接到服务器并执行一些命令的脚本。第一部分有效:

#!/usr/bin/expect -f
spawn ssh address
expect "password:"
send "password\r"
interact

但之后我想执行更多命令,例如cd 到目录,启动更多脚本等。有没有办法实现这些东西?

【问题讨论】:

    标签: bash ssh command


    【解决方案1】:

    尝试以下:

    #!/usr/bin/expect
    set login "any_user"
    set addr "some_address"
    set pw "any_pwd"
    
    spawn ssh -t $login@$addr
    expect "$login@$addr\'s password:"
    send "$pw\r"
    expect "~" ; # put here string from your server prompt
    send "mkdir some_dir\r"
    interact
    

    这是命令之一,您可以尝试其他命令,例如 cd,也可以尝试其中的任何其他脚本,如果有任何疑问,请告诉我们。

    【讨论】:

    • 是的,这行得通,非常感谢!据我了解,每次我想发送任何东西时都需要设置期望命令
    猜你喜欢
    • 2020-10-21
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多