跑刀在地址部分给我双@

时间:2014-03-04 20:55:56

标签: chef knife

我不知道我的安排有什么问题:

siegfried@ubuntu:~/chef-repo$ knife ssh -a ipaddress 'name:chefnode' 'uptime'        

WARNING: Failed to connect to  -- Net::SSH::AuthenticationFailed: Authentication       failed for user siegfried@192.168.1.73@192.168.1.73

failed for user siegfried@192.168.1.73@192.168.1.73

其中有一个@。我完全不知道如何解决它。

11 个答案:

答案 0 :(得分:4)

尚未100%确定发生了什么,但我相信双重" @"只是一条打印消息(它实际上并没有尝试连接到该主机)。双重来自:

# net-ssh-multi-1.2.0/lib/net/ssh/multi/server.rb
#
192       rescue Net::SSH::AuthenticationFailed => error
193         raise Net::SSH::AuthenticationFailed.new("#{error.message}@dude#{host}")
194       end

我已经巧妙地添加了这个词" dude "在这里我们可以在输出中看到:

user@ubuntu:~/chef-repo$ knife ssh 'name:ep1' uptime
WARNING: Failed to connect to ep1.site.com -- Net::SSH::AuthenticationFailed: Authentication failed for user user@ep1.site.com@dudeep1.site.com

似乎某种类型的错误,但不是我们的问题。我将继续调试,但可能与@ Carolyn的建议https://stackoverflow.com/a/22439127/851145有关。

<强>更新

确实是双重的&#34; @&#34;是一个完整的红鲱鱼。对我来说,解决方案是简单地使用--ssh-password指定密码(我没有在远程端点上安装密钥)。

刀ssh&#39;名称:ep1&#39;正常运行时间 - 密码密码

因此可能存在密钥或密码问题。 -VV是你的朋友。

答案 1 :(得分:2)

要解决此问题,请首先检查客户端节点并检查是否提供了root访问权限。 检查文件/ etc / ssh / sshd_config文件并将permitrootaccess更改为Yes。 停止ssh并重新开始

或者在命令

中使用--sudo以及任何用户名和密码

答案 2 :(得分:1)

我有同样的错误;我所做的就是解决它只是添加-P作为我正在运行的knife ssh命令的一部分。 knife ssh默认情况下尝试使用密钥身份验证,如果未明确告知密码身份验证使用密码身份验证。

错误运行命令示例:knife ssh "role:*" "uptime" -x <user>

固定运行命令示例:knife ssh "role:*" "uptime" -x <user> -P

答案 3 :(得分:1)

此问题通常是由于未将正确的私钥PEM文件添加到本地ssh代理程序引起的。做类似的事情:

$ ssh-add

答案 4 :(得分:1)

尝试使用此命令:

knife ssh 'name:node1.example.com' -P "redhat" chef-client

此处node1.example.com是目标计算机。 -P root用户的密码。

答案 5 :(得分:0)

您的命令中有额外的搜索。你想要的是:

knife ssh 'name:chefnode' 'uptime'

答案 6 :(得分:0)

我遇到了同样的问题。使用选项-VV重新运行我的knife命令后,我可以在调试输出中看到它无法加载我的ssh密钥。

could not load public key file `c:/Users/Carolyn/.ssh/id_rsa': Net::SSH::Exception (public key at c:/Users/Carolyn/.ssh/id_rsa.pub is not valid)

原来我的私钥是由PuTTY创建的,格式不正确。关键标题如下所示:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,DA9126F8AA3ED553

在使用ssh-keygen生成的密钥替换我的私钥和公钥后,刀没有问题。现在我的私钥标题如下所示:

-----BEGIN RSA PRIVATE KEY-----

答案 7 :(得分:0)

删除你家中的所有节点,这些节目真的不存在(不活跃,厨师无法联系到它们等等),它会解决你的问题。真。

答案 8 :(得分:0)

将工作站的公钥添加到目标节点的根目录.ssh / authorized_keys

答案 9 :(得分:0)

对我来说,解决方案是确保我的本地ssh-agent拥有堡垒主机和目标节点的两个键。一旦出现这种情况,这样的命令就起作用了。换句话说:

鉴于我正在使用堡垒主机

我有2个不同的ssh密钥对; 1从工作站进入堡垒主机,另一个从堡垒主机进入目标节点

我工作站的ssh-agent -l输出

2048 SHA256:yyyyy /Users/me/.ssh/id_rsa (RSA) 2048 SHA256:zzzzz /Users/me/.ssh/internal-vpc-private-rsa-key (RSA)

当我运行如下命令时:

knife ssh "$CHEF_SEARCH_QUERY" interactive \ --config knife.rb \ --ssh-gateway $JUMPBOX_IP \ --ssh-user $SSH_USER \ --attribute 'cloud.public_ipv4'

然后与目标主机建立N个交互式ssh会话

答案 10 :(得分:0)

为您的客户端节点获取正确的登录凭据。我通过添加刀ssh -i“name:*”“”

来修复