Barra laterale

programmazione:python:paramiko:lanciare_comandi

Lanciare comandi via ssh con Paramiko

Autore: Fabio Di Matteo
Ultima revisione: 02/08/2019 - 13:34

Il seguente script lancia un comando su un server ssh remoto e ne stampa l'output. Se ci dovessero essere degli errori li stampa ed termina.

#!/usr/bin/env python3
import paramiko
 
#Se si vogliono ignorare i warning
import warnings
warnings.filterwarnings("ignore")
 
#Canale per la connessione
p = paramiko.SSHClient()
p.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
 
#Provo a connettermi all'host
try:
	p.connect("192.168.174.4", port=22, username="fabio", password="secret")
except paramiko.ssh_exception.NoValidConnectionsError:
	print("Errore: Non posso connettermi all'host!")
	exit()
 
 
#Lancio il comando e prelevo stdin, stdout, stderr
stdin, stdout, stderr = p.exec_command("lsX /home/fabio/Desktop/")
err=stderr.readlines()
 
#Se non ci sono errori stampo lo stdout, altrimenti gli errori
if not err:
	opt = stdout.readlines()
	for o in opt:
		print(o,end='')
else:
	for e in err:
		print(e, end='')	

programmazione/python/paramiko/lanciare_comandi.txt · Ultima modifica: 02/08/2019 - 18:01 da Fabio Di Matteo