I am having the same issue, except no matter how I start Kibana it just continues to restart. Here is a copy of my kibana.yml:
# Kibana is served by a back end server. This setting specifies the port to use.
# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
# Enables you to specify a path to mount Kibana at if you are running behind a proxy. This only affects
# the URLs generated by Kibana, your proxy is expected to remove the basePath value before forwarding requests
# to Kibana. This setting cannot end in a slash.
# The maximum payload size in bytes for incoming server requests.
# The Kibana server's name. This is used for display purposes.
# The URL of the Elasticsearch instance to use for all your queries.
# When this setting's value is true Kibana uses the hostname specified in the server.host
# setting. When the value of this setting is false, Kibana uses the hostname of the host
# that connects to this Kibana instance.
# Kibana uses an index in Elasticsearch to store saved searches, visualizations and
# dashboards. Kibana creates a new index if the index doesn't already exist.
# The default application to load.
# If your Elasticsearch is protected with basic authentication, these settings provide
# the username and password that the Kibana server uses to perform maintenance on the Kibana
# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which
# is proxied through the Kibana server.
# Enables SSL and paths to the PEM-format SSL certificate and SSL key files, respectively.
# These settings enable SSL for outgoing requests from the Kibana server to the browser.
# Optional settings that provide the paths to the PEM-format SSL certificate and key files.
# These files validate that your Elasticsearch backend uses the same key files.
# Optional setting that enables you to specify a path to the PEM file for the certificate
# authority for your Elasticsearch instance.
elasticsearch.ssl.certificateAuthorities: [ "./ca.crt" ]
# To disregard the validity of SSL certificates, change this setting's value to 'none'.
# Time in milliseconds to wait for Elasticsearch to respond to pings. Defaults to the value of
# the elasticsearch.requestTimeout setting.
# Time in milliseconds to wait for responses from the back end or Elasticsearch. This value
# must be a positive integer.
# List of Kibana client-side headers to send to Elasticsearch. To send no client-side
# headers, set this value to  (an empty list).
#elasticsearch.requestHeadersWhitelist: [ ]
# Header names and values that are sent to Elasticsearch. Any custom headers cannot be overwritten
# by client-side headers, regardless of the elasticsearch.requestHeadersWhitelist configuration.
# Time in milliseconds for Elasticsearch to wait for responses from shards. Set to 0 to disable.
# Time in milliseconds to wait for Elasticsearch at Kibana startup before retrying.
# Specifies the path where Kibana creates the process ID file.
# Enables you specify a file where Kibana stores log output.
# Set the value of this setting to true to suppress all logging output.
# Set the value of this setting to true to suppress all logging output other than error messages.
# Set the value of this setting to true to log all events, including system usage information
# and all requests.
# Set the interval in milliseconds to sample system and process performance
# metrics. Minimum is 100ms. Defaults to 5000.
# The default locale. This locale can be used in certain circumstances to substitute any missing