Advertisement
diegomrodrigues

Criando Scripts SSH com Python

Dec 25th, 2017
1,176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.07 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. '''
  3. Criando Scripts SSH com Python
  4.  
  5. Exemplo de script Python que executa comandos utilizando uma conexão SSH
  6.  
  7. Artigo: https://www.linkedin.com/pulse/criando-scripts-ssh-com-phyton-diego-mendes-rodrigues/
  8.  
  9. Diego Mendes Rodrigues
  10. '''
  11.  
  12. # Importando do Paramiko
  13. import paramiko
  14.  
  15. # Dados de acesso
  16. ip = '127.0.0.1'    # IP do Servidor Linux
  17. usuario = 'root'        # Usuário de acesso
  18. senha = '123456'  # Senha de acesso
  19.  
  20. # Criando a conexão SSH
  21. ssh = paramiko.SSHClient()
  22. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  23. ssh.connect(ip, username=usuario, password=senha)
  24.  
  25. # Função com o Menu
  26. def print_menu():
  27.     print(30 * "-" , "OPÇÕES" , 30 * "-")
  28.     print("1. apt-get update")
  29.     print("2. apt-get upgrade")
  30.     print("3. Arquivo /etc/passwd")
  31.     print("4. Arquivo /etc/shadow")
  32.     print("5. Espaço em disco (df -h)")
  33.     print("6. Usuários logados no sistema")
  34.     print("7. Informações do sistema")
  35.     print("8. Exit")
  36.     print(67 * "-")
  37.  
  38. loop = True
  39.  
  40. while loop:
  41.     print_menu()
  42.     opcao = input("Selecione sua opção [1-8]: ")
  43.  
  44.     if opcao=='1':
  45.         # Executando o UPDATE
  46.         print('\n----------------------------------\nExecutando o apt-get update\n----------------------------------')
  47.         stdin, stdout, stderr = ssh.exec_command('apt-get update\n')
  48.         print(*stdout.readlines(), sep='')
  49.  
  50.     elif opcao=='2':
  51.         # Executando o UPGRADE
  52.         print('\n----------------------------------\nExecutando o apt-get upgrade\n----------------------------------')
  53.         stdin, stdout, stderr = ssh.exec_command('apt-get upgrade\n')
  54.         stdin.write('y\n')
  55.         stdin.flush()
  56.         print(*stdout.readlines(), sep='')
  57.  
  58.     elif opcao=='3':
  59.         print('\n----------------------------------\nArquivo /etc/passwd\n----------------------------------')
  60.         stdin, stdout, stderr = ssh.exec_command('cat /etc/passwd\n')
  61.         print(*stdout.readlines(), sep='')
  62.  
  63.     elif opcao=='4':
  64.         print('\n----------------------------------\nArquivo /etc/shadow\n----------------------------------')
  65.         stdin, stdout, stderr = ssh.exec_command('cat /etc/shadow\n')
  66.         print(*stdout.readlines(), sep='')
  67.  
  68.     elif opcao=='5':
  69.         print('\n----------------------------------\nEspaço em disco\n----------------------------------')
  70.         stdin, stdout, stderr = ssh.exec_command('df -h\n')
  71.         print(*stdout.readlines(), sep='')
  72.  
  73.     elif opcao=='6':
  74.         print('\n----------------------------------\nUsuários logados\n----------------------------------')
  75.         stdin, stdout, stderr = ssh.exec_command('who\n')
  76.         print(*stdout.readlines(), sep='')
  77.  
  78.     elif opcao=='7':
  79.         print('\n----------------------------------\nInformações do sistema\n----------------------------------')
  80.         stdin, stdout, stderr = ssh.exec_command('uname -a\n')
  81.         print(*stdout.readlines(), sep='')
  82.  
  83.     elif opcao=='8':
  84.         loop=False
  85.  
  86.     else:
  87.         print('\nOpção incorreta. Tente novamente.\n')
  88.  
  89.  
  90. # Encerrando a conexão SSH
  91. ssh.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement