summaryrefslogtreecommitdiff
path: root/puppet/modules/site_sshd/templates/ssh_config.erb
blob: 36c0b6d5d7473eb7f713f7fb28483d2ec4960fe0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# This file is generated by Puppet
# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

Host *
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no
<% if scope.lookupvar('::site_config::params::environment') == 'local' -%>
    #
    # Vagrant nodes should have strict host key checking
    # turned off. The problem is that the host key for a vagrant
    # node is specific to the particular instance of the vagrant
    # node you have running locally. For this reason, we can't
    # track the host keys, or your host key for vpn1 would conflict
    # with my host key for vpn1.
    #
    StrictHostKeyChecking no
<% end -%>

#
# Tell SSH what host key algorithm we should use. I don't understand why this
# is needed, since the man page says that "if hostkeys are known for the
# destination host then [HostKeyAlgorithms default] is modified to prefer
# their algorithms."
#

<% @hosts.sort.each do |name, host| -%>
Host <%= name %> <%= host['domain_full'] %> <%= host['domain_internal'] %> <%= host['ip_address'] %>
<% if host['host_pub_key'] -%>
HostKeyAlgorithms <%= host['host_pub_key'].split(" ").first %>
<% end -%>
<% if host['port'] -%>
Port <%= host['port'] %>
<% end -%>

<% end -%>