mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2024-12-26 08:51:50 -06:00
client install: do not corrupt OpenSSH config with Match sections
https://fedorahosted.org/freeipa/ticket/5461 Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
This commit is contained in:
parent
7f0d018c66
commit
2d041daf17
@ -1332,6 +1332,7 @@ def change_ssh_config(filename, changes, sections):
|
||||
section_keys = tuple(key.lower() for key in sections)
|
||||
|
||||
lines = []
|
||||
in_section = False
|
||||
for line in f:
|
||||
line = line.rstrip('\n')
|
||||
pline = line.strip()
|
||||
@ -1340,7 +1341,7 @@ def change_ssh_config(filename, changes, sections):
|
||||
continue
|
||||
option = pline.split()[0].lower()
|
||||
if option in section_keys:
|
||||
lines.append(line)
|
||||
in_section = True
|
||||
break
|
||||
if option in change_keys:
|
||||
line = '#' + line
|
||||
@ -1348,6 +1349,9 @@ def change_ssh_config(filename, changes, sections):
|
||||
for option, value in changes.items():
|
||||
if value is not None:
|
||||
lines.append('%s %s' % (option, value))
|
||||
if in_section:
|
||||
lines.append('')
|
||||
lines.append(line)
|
||||
for line in f:
|
||||
line = line.rstrip('\n')
|
||||
lines.append(line)
|
||||
@ -1388,7 +1392,7 @@ def configure_ssh_config(fstore, options):
|
||||
changes['VerifyHostKeyDNS'] = 'yes'
|
||||
changes['HostKeyAlgorithms'] = 'ssh-rsa,ssh-dss'
|
||||
|
||||
change_ssh_config(ssh_config, changes, ['Host'])
|
||||
change_ssh_config(ssh_config, changes, ['Host', 'Match'])
|
||||
root_logger.info('Configured %s', ssh_config)
|
||||
|
||||
def configure_sshd_config(fstore, options):
|
||||
|
Loading…
Reference in New Issue
Block a user