我正在寻找一种从 golang 程序在终端中启动 ssh 的方法。
func main() {
cmd := exec.Command("ssh", "user@192.168.0.17", "-p", "2222")
err := cmd.Run()
if err != nil {
panic(err)
}
}
Run Code Online (Sandbox Code Playgroud)
这非常有效,直到我输入正确的密码,然后程序退出。我想当经过身份验证时,会启动另一个 ssh 脚本,但我不知道如何解决这个问题。我搜索了一些有关它的信息,但我发现的只是如何在 go 中创建 ssh 会话,如果可能的话,我想避免这种情况。
您应该传入stdin
、stdout
和stderr
:
package main
import (
"os"
"os/exec"
)
func main() {
cmd := exec.Command("ssh", "user@192.168.0.17", "-p", "2222")
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err := cmd.Run()
if err != nil {
panic(err)
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3426 次 |
最近记录: |