(1) Installieren Sie zuerst die Paramiko-Bibliothek
pip install paramiko
(2) Die folgenden Klassen sind gekapselt und können direkt verwendet werden
import paramiko class SSHClient(object): def __init__(self,host,username,password,port=22): self.__host=host self.__username=username self.__password=password self.__port=port self.__ssh=None self.connect() def __del__(self): self.close() def connect(self): self.__ssh = paramiko.SSHClient() self.__ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) self.__ssh.connect(hostname=self.__host,port=self.__port,username=self.__username,password=self.__password) def exec(self,cmd): print(f"begin to run remote cmd: {cmd}") stdin, stdout, stderr = self.__ssh.exec_command(cmd,timeout=1800) returncode = stdout.channel.recv_exit_status() output=stdout.read().decode('utf-8') return output def close(self): self.__ssh.close()
(3) Bereiten Sie beispielsweise eine virtuelle Linux-Maschine mit der IP-Adresse 192.168.1.12 vor und dann Verwenden Sie es direkt wie folgt: Die oben gekapselte Klasse kann die Remote-Ausführung von Linux-Befehlen realisieren ,MULTICAST>
Ether 00:0c:29:58:d8:4c txqueuelen 1000 (Ethernet)
RX-Pakete 195340 Bytes 148862388 (141,9 MiB)RX-Fehler 0 verworfen 0 Überläufe 0 Rahmen 0TX-Pakete 163425 Bytes 20837281 (19,8 MiB)
TX-Fehler 0 verworfen 0 Überläufe 0 Träger 0 Kollisionen 0
TX-Fehler 0 verworfen 0 Überläufe 0 Träger 0 Kollisionen 0
lo: flags=73
inet6 :: 1 Präfixlen 128 ScopeId 0x10 & lt; Host & GT; 0 fallen gelassen 0 Überläufe 0 Träger 0 Kollisionen 0
virbr0: flags=4099:54:00:e8:3f: 5c txqueuelen 1000 (Ethernet)
RX-Pakete 0 Bytes 0 (0,0 B)
RX-Fehler 0 verworfen 0 Überläufe 0 Frame 0
TX-Pakete 0 Bytes 0 (0,0 B)
Das obige ist der detaillierte Inhalt vonWie implementiert Python die Remoteausführung von Linux-Befehlen über die Paramiko-Bibliothek?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!