如何从flynn集群中获取TLS引脚?

时间:2016-10-19 17:55:03

标签: flynn

添加新群集时,必须使用以下命令:

flynn cluster add -p <tls pin> <cluster name> <controller domain> <controller key>

你在哪里获得<tls pin>

3 个答案:

答案 0 :(得分:7)

您可以使用以下命令生成TLS Pin:

openssl s_client -connect controller.$CLUSTER_DOMAIN:443 \
  -servername controller.$CLUSTER_DOMAIN 2>/dev/null </dev/null \
  | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' \
  | openssl x509 -inform PEM -outform DER \
  | openssl dgst -binary -sha256 \
  | openssl base64

(请务必先设置CLUSTER_DOMAIN,例如CLUSTER_DOMAIN=xxxx.flynnhub.com

答案 1 :(得分:1)

如果使用Flynn CLI设置客户端计算机,则可以在该计算机上的~/.flynnrc文件中找到TLS引脚。它看起来像这样:

[[cluster]]
  Name = "flynn-cluster"
  Key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  TLSPin = "------> THE TLS PIN <-------"
  ControllerURL = "https://controller.xxxx.flynnhub.com"
  GitURL = "https://git.xxxx.flynnhub.com"

答案 2 :(得分:1)

jvatic的答案对我来说没有使用自签名证书,所以我通过登录flynn节点并在其上运行这个bash单线怪物获得了TLS Pin:

flynn-host inspect $(flynn-host ps | grep router | head -n1 | cut -f1 -d ' ') | \
    sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | \
    sed -e 's/ENV\[TLSCERT\]\s\+//g' | \
    openssl x509 -inform PEM -outform DER | \
    openssl dgst -binary -sha256 | openssl base64