crans_bcfg2/Python/etc/ssh/ssh_known_hosts
Valentin Samir 69a1e6c040 [ssh_known_hosts] Ajout des domaine partiel (machin.adm) et des ipv6. On trie la sortie pour avoir des diff cohérents
Ignore-this: 42da539dfc78d9fd096c29c459f964a8

darcs-hash:20130208000414-3a55a-7acd0447d7185dd83b19bbbc4fc649bb870db4a0.gz
2013-02-08 01:04:14 +01:00

44 lines
1.2 KiB
Python

# -*- coding: utf-8; mode: python -*-
include("mode/space")
header("Configuration du serveur ssh")
import sys
sys.path.append('/usr/scripts/lc_ldap')
sys.path.append('/usr/scripts/gestion')
import lc_ldap
import config
conn=lc_ldap.lc_ldap_admin()
machines=conn.search("objectClass=machineCrans")
key_machines={}
for machine in machines:
for key in machine['sshFingerprint']:
if not key.value in key_machines.keys():
key_machines[key.value]=set()
for host in machine['host']:
key_machines[key.value].add(host.value)
domains=host.value.split('.')
key_machines[key.value].add(domains[0])
key_machines[key.value].add('.'.join(domains[0:2]))
for alias in machine['hostAlias']:
key_machines[key.value].add(alias.value)
domains=host.value.split('.')
key_machines[key.value].add(domains[0])
key_machines[key.value].add('.'.join(domains[0:2]))
for ip in machine['ipHostNumber']:
key_machines[key.value].add("%s" % ip)
for ip in machine['ip6HostNumber']:
key_machines[key.value].add("%s" % ip)
# On trie pour avoir des diff valident en appliquant bcfg2 sur les machines
keys=key_machines.keys()
keys.sort()
for key in keys:
hosts=list(key_machines[key])
hosts.sort()
sys.stdout.write("%s %s" % (','.join(hosts),key))