1

Compare commits

...

2 Commits

Author SHA1 Message Date
Ventilaar
6ddf82ea0d git ignore toevoegen 2021-11-17 23:05:23 +01:00
Ventilaar
b450b85c3e Basis config is in principe compleet. Moet alleen de user input vragen en een simpele menu toevoegen. 2021-11-17 23:03:02 +01:00
2 changed files with 54 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.idea/

View File

@@ -0,0 +1,53 @@
RSA_BITSIZE = 4096
MANAGEMENT_INTERFACE = 'GigabitEthernet 0/0/0'
test = {'HOSTNAME': 'kerk', 'DOMAIN': 'kerkhosting.lan', 'RSA_BITSIZE': RSA_BITSIZE, 'SSH_USERNAME': 'kekr',
'SSH_PASSWORD': 'kakr', 'ENABLE_PASSWORD': 'kork', 'MANAGEMENT_INTERFACE': MANAGEMENT_INTERFACE,
'MANAGEMENT_IP': '172.16.1.1', 'MANAGEMENT_MASK': '255.255.255.0'}
def generate_config(s):
"""
De volgende waarden moeten in een tuple meegegeven worden.
HOSTNAME DOMAIN SSH_USERNAME SSH_PASSWORD ENABLE_PASSWORD MANAGEMENT_IP MANAGEMENT_MASK
"""
config = 'enable\n' \
'configure terminal\n' \
f"hostname {s['HOSTNAME']}\n" \
'no ip domain-lookup\n' \
f"ip domain-name {s['DOMAIN']}\n" \
f"crypto key generate rsa general-keys modulus {s['RSA_BITSIZE']}\n" \
f"username {s['SSH_USERNAME']} password {s['SSH_PASSWORD']}\n" \
f"enable secret {s['ENABLE_PASSWORD']}\n" \
'service password-encryption\n' \
'ip ssh version 2\n' \
f"int {s['MANAGEMENT_INTERFACE']}" \
f"ip address {s['MANAGEMENT_IP']} {s['MANAGEMENT_MASK']}\n" \
'no shutdown\n' \
'exit\n' \
'line vty 0 15\n' \
'transport in ssh\n' \
'transport out ssh\n' \
'login local\n' \
'end\n' \
'exit\n'
return config
def menu():
print(
f"{'_' * 64}\n"
'Static variabelen(pas script aan):\n'
f' SSH RSA key bitsize: {RSA_BITSIZE}\n'
f' Management interface: {MANAGEMENT_INTERFACE}\n'
f"{'_' * 64}\n"
)
def main():
menu()
print(generate_config(test))
if __name__ == '__main__':
main()