Automatizando comandos por SSH com Python
Ao automatizar tarefas de linha de comando em Python, usar subprocess.call() é uma abordagem comum. No entanto, para comandos de máquina remota que requerem login SSH, este método é insuficiente.
Automatizando comandos SSH em Python
Para automatizar comandos SSH em Python, um módulo recomendado é paramico. Ele fornece uma interface para estabelecer conexões SSH e executar comandos com segurança.
Aqui está um exemplo usando paramiko:
import paramiko
ssh = paramiko.SSHClient()
ssh.connect(server, username=username, password=password)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cmd_to_execute)
Isso estabelece uma conexão SSH com um servidor remoto, especificando o endereço do servidor, nome de usuário e senha. Posteriormente, o método exec_command() executa o comando desejado, capturando saída padrão e fluxos de erro.
No caso de autenticação de chave SSH, o seguinte trecho de código pode ser usado:
import paramiko
k = paramiko.RSAKey.from_private_key_file(keyfilename)
# OR k = paramiko.DSSKey.from_private_key_file(keyfilename)
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=host, username=user, pkey=k)
Ao especificar o nome do arquivo-chave que contém a chave privada, este código inicia uma conexão SSH usando autenticação baseada em chave.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3