猿问

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

我需要在下面的 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()

}


白衣染霜花
浏览 94回答 1
1回答

呼唤远方

当您使用重定向时,您可以让 bash 处理它:bash&nbsp;-c&nbsp;"<command>"将此传递给session.Run(...)
随时随地看视频慕课网APP

相关分类

Go
我要回答