使用ssh将带有标志的本地脚本运行到远程计算机

问题描述 投票:0回答:1

我需要在go程序中实现以下类似功能。

ssh user@host "python" - < ./test.py -f bar

我现在可以实现突出显示的部分,我只需要在脚本文件中传递标志即可。

下面是突出显示部分的代码。

package main
import (
    "log"
    "os"

    "golang.org/x/crypto/ssh"
)

func main()  {
    user := "user"
    hostport := "10.10.10.10:22"
    script, _ := os.OpenFile("test.py", os.O_RDWR|os.O_CREATE, 0755)
    interpreter := "python3"
    client, session, err := connectToHost(user, hostport) 
    session.Stdin = script
    session.Stdout = os.Stdout
    err = session.Run(interpreter)
    if err != nil {
        log.Fatal(err)
    }
    client.Close()
    defer session.Close()
}
go ssh arguments
1个回答
0
投票

当您使用重定向时,可以让bash处理它:

bash -c "<command>"

将此传递给session.Run(...)

© www.soinside.com 2019 - 2024. All rights reserved.