Golang SSH 客户端错误“无法验证,已尝试方法 [无公钥],没有保留支持的方法”

som*_*dev 5 ssh go

由于某种原因,Golang SSH 客户端无法连接到我的 EC2 实例。它抛出以下错误:
ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain

这是我的代码:

package main

import (
    "fmt"

    "github.com/helloyi/go-sshclient"
)

func main() {
    client, err := sshclient.DialWithKey("ip:port", "ubuntu", "my_key.pem")
    if err != nil {
        fmt.Println(err)
        return
    }

    out, err := client.Cmd("help").Output()
    if err != nil {
        fmt.Println(err)
        return
    }

    fmt.Println(string(out))
}
Run Code Online (Sandbox Code Playgroud)

有趣的是,当我在另一台计算机上运行此代码时,连接没有任何错误。所以我认为这一定是电脑的问题,而不是我的代码的问题。我还尝试使用 Paramiko 客户端连接到 Python 中的实例,它工作完美。当然我尝试使用连接sshCMD 和 MobaXTerm 客户端中的命令进行连接 - 两者都有效。我尝试使用其他 Golang SSH 客户端golang.org/x/crypto/ssh,但它不起作用(同样的错误)。

感谢您的帮助。

som*_*dev 3

显然,这是文件的问题go.mod。两者golang.org/x/crypto都已golang.org/x/sys过时,一旦我更新它们,它就开始工作。感谢@kkleejoe 的帮助。