通过SSH为远程服务器执行本地脚本(Linux Shell脚本)

时间:2019-07-01 10:26:47

标签: shell go

我尝试使用以下命令在ssh上运行本地脚本:

ssh [user]@[ip_address] "sudo bash -s" -- < script.sh arg1 arg2

这是完美的工作。

现在,我想使用golang尝试上述命令。下面是我的源代码:

package main

import (
    "fmt"
    "log"
    "os/exec"
)

func main() {
    // ssh [user]@[ip_address] "sudo bash -s" -- < script.sh arg1 arg2
    cmd, err := exec.Command("ssh", "[user]@[ip_address]", "sudo", "bash", "-s", "<", "script.sh", "arg1", "arg1").Output()
    if err != nil {
        log.Println(err.Error())
    }
    fmt.Printf("%s\n", cmd)
}

但不幸的是,它没有用,程序已退出。好的,实际上我已经在google中搜索了,仍然不知道这种解决方案。

0 个答案:

没有答案