ssh - 通过 shell 与 ssh 连接?

标签 ssh go command-line-interface

我正在使用 Go 尝试自动跟踪我所有的 ssh 连接。我在从 Go 运行命令时遇到一些问题。这是我的代码:

cmd := exec.Command("ssh", string(c.Address))
        cmd.Stderr = os.Stderr
        cmd.Stdin = os.Stdin
        cmd.Stdout = os.Stdout
        err2 := cmd.Run()
        if err2 != nil {
            fmt.Print("Disconnected")
        }

c.Address 等效于“person@192.168.1.1”,显然没有使用该 ip,但是当我运行它时出现以下错误。

ssh: Could not resolve hostname 192.168.1.1
: nodename nor servname provided, or not known

我可以从我的终端使用 ssh 正常连接。

谢谢!

最佳答案

使用 golang.org/x/crypto/ssh 包。

Package documentation.

Nice tutorial to get you started.

关于ssh - 通过 shell 与 ssh 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29708760/

相关文章:

linux - scp 使用私钥 auth 将目录复制到另一台服务器

go - 领域事件的可靠异步处理

ios - 如何使用后端集成设置 iOS Google 登录?

go - 使用 Go 向 APNS 发出推送请求时出现 403 禁止错误。我是否正确创建了 JWT?

linux - GZIP 不适用于压缩多个文件

linux - Ksh,ssh 和运行多个命令的更好方法

linux - 为将来的命令保持多个 SSH 连接

python - 使用子进程 ssh 和执行命令

Python:在没有输入被分解的情况下打印行

windows - 如何将多行命令行命令复制/粘贴到命令提示符中?