Basis config is in principe compleet. Moet alleen de user input vragen en een simpele menu toevoegen.
This commit is contained in:
parent
da312753d0
commit
b450b85c3e
|
@ -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()
|
Reference in New Issue