【发布时间】:2022-01-30 03:12:07
【问题描述】:
我正在尝试使用 Go 编程语言的 [ssh][1] 包通过密钥连接到亚马逊 AWS linux 服务器。但是,包文档有点神秘/令人困惑。有谁知道如何使用密钥或至少在可能的情况下通过 ssh 连接?困扰我的是,在 [Dial][3] 示例中它说
// An SSH client is represented with a ClientConn. Currently only
// the "password" authentication method is supported.
我基本上想模仿 ssh -i x.pem root@server.com 行为并在服务器内部执行命令(例如whoami)
【问题讨论】:
-
恐慌意味着您忽略了某处的错误(或在检查错误之前设置了延迟)。我们需要一些代码来知道你在做什么。
-
@JimB 我添加了一些代码。我想我已经检查了所有的错误。错误检查后设置延迟关闭会话
-
您的恐慌是因为您在 session 为 nil 的位置调用
defer session.Close()。t.Error(err)不会提前回来。