使用 Chef's Knife ssh 时出现 Net::SSH::AuthenticationFailed

使用 Chef's Knife ssh 时出现 Net::SSH::AuthenticationFailed

事实:

  1. 我已经安装了 Chef 服务器。
  2. 我已经向该服务器注册了一个节点,我可以在 WebUI 中看到该节点(这是一个现有节点,不是使用 Knife Bootstrap 引导的
  3. 当我执行命令时

    $ knife ssh "role:test" "sudo chef-client"
    WARNING: Failed to connect to node[ip-X-X-X-X.ec2.internal] -- Net::SSH::AuthenticationFailed: [email protected]
    

我是否遗漏了什么?例如复制 SSH 密钥?

答案1

此问题通常是由于未将正确的私钥 PEM 文件添加到本地 ssh 代理而导致的。请执行以下操作:

$ ssh-add pk-XXXX

其中参数是用于创建 EC2 实例的密钥对的私钥部分。

答案2

我从错误消息中看到它试图以“ubuntu”用户身份登录。确保此用户在其 ~/.ssh/authorized_keys 文件中输入了正确的密钥。我不确定 Ubuntu 实例,但我知道 Amazon Linux 系统只将密钥复制到 ec2-user 帐户。您必须为该用户编写脚本或手动复制密钥。

相关内容