gpt4 book ai didi

go - cmd := exec. 命令 ("ssh", "ec2-user@publicip")退出权限被拒绝(公钥,gssapi-keyex,gssapi-with-mic)

转载 作者:行者123 更新时间:2023-12-01 20:22:58 27 4
gpt4 key购买 nike

我正在使用 org/x/crypto/ssh 包来构建一个 cli 应用程序,以通过堡垒 ssh 到使用 ssh 证书的服务器。基本工作流程是;
cli 工具获取用户公钥并从 Vault ssh ca 对其进行签名,并且生成的证书用于向服务器验证用户身份。
它工作得很好。

configure := &ssh.ClientConfig{
User: "ec2-user",
Auth: []ssh.AuthMethod{
// Use the PublicKeys method for remote authentication.
ssh.PublicKeys(certSigner),
},
HostKeyCallback: ssh.InsecureIgnoreHostKey(),
}
//log.Println(config.bastionserver.publicIP)

// Connect to the remote server and perform the SSH handshake.
proxyClient, err := ssh.Dial("tcp", net.JoinHostPort(config.bastion.publicIP, "22"), configure)
if err != nil {
log.Fatalln(err)
}

session, err := proxyClient.NewSession()
if err != nil {
log.Fatalln(err)
}
defer session.Close()

if err = session.Shell(); err != nil {
log.Fatalln(err)
}

session.Wait()

我做了一些更改并恢复到代码,我开始收到以下错误。我用 git 来恢复。

ssh: handshake failed: ssh: unable to authenticate, attempted methods [publickey none], no supported methods remain



所以我降低了复杂性并尝试了以下 block 来尝试通过我正在构建的 cli 应用程序连接到堡垒。
cmd := exec.Command("ssh", "-i", signedKeyPath, "-i", privateKeyPath, "ec2-user@host")

fmt.Println(cmd.String())
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err = cmd.Run()
if err != nil {
log.Fatalln(err)
}

它仍然退出

/usr/bin/ssh -i /home/rochana/.ssh/id_rsa-cert.pub -i /home/rochana/.ssh/id_rsa ec2-user@host ec2-user@host: Permission denied (publickey,gssapi-keyex,gssapi-with-mic). 2020-02-17 11:01:25.168548 I | exit status 255.



我尝试在另一台 PC 上编译和运行它,我得到了相同的结果。我尝试将证书保存到磁盘并给出路径。

但是如果我在终端上运行相同的命令。它工作正常并连接到实例。

ssh -i ~/.ssh/id_rsa-cert.pub -i ~/.ssh/id_rsa ec2-user@host



或者只是复制并粘贴 cmd.String() 输出

/usr/bin/ssh -i /home/rochana/.ssh/id_rsa-cert.pub -i /home/rochana/.ssh/id_rsa ec2-user@host



当我直接在终端上运行但不使用 exec 命令时,一切正常

最佳答案

该错误是由于 Vault 服务器无法同步其时间。

关于go - cmd := exec. 命令 ("ssh", "ec2-user@publicip")退出权限被拒绝(公钥,gssapi-keyex,gssapi-with-mic),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60255947/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com