#!/usr/bin/env python3 # # Copyright (C) 2018 VyOS maintainers and contributors # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 or later as # published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # import sys import os import time from vyos.config import Config from vyos.util import ConfigError config_file = r'/etc/ssh/sshd_config' def get_config(): ssh = {} conf = Config() conf.set_level('service ssh') if not conf.exists(''): return ssh return ssh def verify(ssh): return None def generate(ssh): config_header = '### Autogenerated by vyos-config-ssh.py on {tm} ###\n'.format(tm=time.strftime("%a, %d %b %Y %H:%M:%S", time.localtime())) # write new configuration file f = open(config_file, 'w') f.write(config_header) f.write('\n') f.close() return None def apply(ssh): if len(ssh) == 0: cmd = "sudo systemctl stop ssh" else: cmd = "sudo systemctl start ssh" os.system(cmd) return None if __name__ == '__main__': try: c = get_config() verify(c) generate(c) apply(c) except ConfigError as e: print(e) sys.exit(1)