我正在尝试使用笔记本电脑上的刀连接到AWS上托管的新配置的Chef服务器。我知道下面列出的是正确的方向,但我不确定如何解决这个问题。
If you are not able to connect to the server using the hostname ip-xx-x-x-xx.ec2.internal
you will have to update the certificate on the server to use the correct hostname.
答案 0 :(得分:1)
我有同样的问题。问题是EC2实例将其私有IP放入其主机名文件中。这导致厨师自己将证书分配给内部IP。执行knife ssl check
时,您可能会收到如下所示的错误消息:
ERROR: The SSL cert is signed by a trusted authority but is not valid for the given hostname
ERROR: You are attempting to connect to: 'ec2-x-x-x-x.us-west-2.compute.amazonaws.com'
ERROR: The server's certificate belongs to 'ip-y-y-y-y.us-west-2.compute.internal'
连接到公共IP是正确的,但是如果在签署证书时没有将厨师服务器配置为使用公共DNS,则会继续出现此错误。
编辑: Chef的文档曾经有过纠正此问题的步骤,但自从我最初回答这个问题以来,他们已经从他们的教程中删除了这些步骤。在ec2实例上,以下步骤适用于Chef 12,Ubuntu 16。
sudo vim /etc/hostname
sudo reboot
sudo chef-server-ctl reconfigure
(此签署新证书,等等)knife ssl fetch
,然后使用knife ssl check
,您应该好好去。在将厨师安装到服务器之前,您还可以做的只是完成步骤1 - 4。
答案 1 :(得分:0)
您无法从AWS外部连接到内部IP(或指向内部IP的DNS)。那些是nonroutable IP addresses。
而是连接到实例的公共IP(如果有的话)。
答案 2 :(得分:0)
这应解决问题,确认运行'刀客户列表'