错误:无法运行:SSL_connect SYSCALL返回= 5 errno = 0 state = SSLv3读取完成A.

时间:2014-10-24 18:36:23

标签: ssl puppet

我正在尝试在一个域上复制当前的Puppet Master服务器并将其移动到另一个域。我发现很难尝试改变所有的配置剩余。有一种简单的方法可以做到这一点,还是一步一步的最佳实践?我已经将大部分旧的fqdn名称更改为新的名称,但是当我删除所有证书并在主服务器上重新发布新证书时,它希望继续为旧的FQDN提取证书。

编辑1:我已解决了之前遇到的许多问题。但是,在我的生命中,我无法解决这个SSL问题。

[root@puppet lib]# puppet resource service apache2 ensure=running
Error: Could not run: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [unable to get local issuer certificate for /CN=puppet.foundry.test]

我尝试使用此链接从主服务器中完全清除所有证书,然后重新生成所有证书。但我仍然遇到同样的错误:

Error: Could not run: SSL_connect SYSCALL returned=5 errno=0 state=SSLv3 read finished A

现在我不确定我是否有傀儡SSL问题或一般的SSL问题。

4 个答案:

答案 0 :(得分:5)

您很可能连接到错误的服务器(默认为主机名TABLE_2.B)。

检查代理商的配置,您最感兴趣的是BEGIN for x in (SELECT TABLE_2.A, TABLE_2.B, TABLE_2.C FROM TABLE_2 WHERE TABLE_2.A in (val1,val2,val3)) loop begin execute immediate 'INSERT INTO MY_TABLE (A, B , C) values ('||x.A||','||x.B||','||x.C||')'; EXCEPTION WHEN OTHERS then PROC_EXCEPTION('ERROR with'|| x.B,SQLCODE,SQLERRM); end; end loop; END; 变量

puppet

同样很高兴知道server在哪里寻找其配置:

puppet config print --section agent | grep "server = "

编辑你的配置,设置正确的木偶大师:

puppet agent

当然,你可以清理你的证书(代理人):

$ puppet config print --section agent | grep "^config = "
config = /etc/puppetlabs/puppet/puppet.conf

在puppet服务器上:

[agent]
server=puppet4.example.com

最后运行find /etc/puppetlabs/puppet/ssl -name $(hostname -f).pem -delete

答案 1 :(得分:3)

  1. 您可以使用以下链接:http://bitcube.co.uk/content/puppet-errors-explained
  2. 您是否尝试更改木偶大师dns?
  3. 尝试查看puppet主证书是否与您在节点上的服务器中写入的证书相同。 如果没有,你总是可以使用dns_alt_names = puppet_hostname.your_domain以及你想要的木偶大师和你想要的所有名字。 CA
  4. 然后尝试重新启动puppet主服务,从主服务器清除slave certname,从slave中删除所有/var/lib/puppet/ssl/文件夹,然后再次运行puppet。

答案 2 :(得分:1)

傀儡告诉你的是,证书不匹配。一旦确定证书无效或不匹配,主设备就会断开连接。因为断开是如此突然,傀儡不知道为什么会发生。

当发生这种情况时,木偶可以,例如,改变该错误信息,"嘿!这是您可能检查的事项列表。"然后建议验证证书过期日期,证书不匹配等等。但是为什么有人会这样做?

以下是您可以解决这种情况的一种方法:错误地设置两个具有相同名称的puppet客户端计算机。使用该名称的第二台机器可以工作,但第一台机器将不再工作。

有人可能会遇到这种情况吗?两台机器的名称不一样!当然不是。但我们已经看到过这样的情况:

  • 机器A,B,C,D,E都是Puppet客户端。
  • 机器C被擦除并重新加载。技术人员不小心打电话给他" B"。为了让它与Puppet一起工作,他们" puppet cert clean B"。
  • 技术人员意识到他们的错误,并使用正确的名称重新配置机器C,执行" puppet cert clean C",机器C现在正常工作。
  • 一周后,有人注意到机器B无法与主人交谈。它收到此错误消息。经过数小时的调试后,他们发现客户端证书有一个序列号,但主服务器希望客户端具有非常不同的序列号。机器B的证书经过清洁,再生等,一切都在继续。

Puppet Labs应该更新错误消息以暗示这可能是问题吗?他们可以,但是我不会因为写出这个很棒的答案而得到代表点。此外,技术人员不应该犯这样的错误,所以为什么要处理一个显然不应该发生的案例......除非它确实如此。

答案 3 :(得分:0)

Make sure that you are running puppet as root, or with sudo. I have received this exact error when I was my normal user and ran "puppet agent -t" without elevating my privileges.