Erfahren Sie, wie Sie das Paramiko-Modul in Python teilen
Dieser Artikel teilt hauptsächlich die Lernmaterialien des Python-Paramiko-Moduls. Es hat einen gewissen Referenzwert.
Paramiko ist ein in der Python-Sprache geschriebenes Modul, das das SSH2-Protokoll unterstützt Verschlüsselung und Authentifizierung für die Verbindung zu Remote-Servern. paramiko unterstützt Linux, Solaris, BSD, MacOS X, Windows und andere Plattformen, um über SSH eine Verbindung von einer Plattform zur anderen herzustellen. Mit diesem Modul können Sie ganz einfach eine SSH-Verbindung und ein SFTP-Protokoll für die SFTP-Dateiübertragung durchführen.
Lassen Sie uns zunächst die folgenden Substantive klären:
SSHClient: Pakete Kanal, Transport, SFTPClient
Kanal: ist ein Typ Socket, ein sicherer SSH-Übertragungskanal;
ist eine verschlüsselte Sitzung (aber die Sitzung eines solchen Objekts wurde nicht eingerichtet) und erstellt einen verschlüsselten Tunnel. Dieser Tunnel wird als Kanal bezeichnet Sitzung:
ist das Objekt, das die Verbindung zwischen Client und Server aufrechterhält. Verwenden Sie connect()/start_client()/start_server(), um die Sitzung zu starten.
pycrypto. Da das Paramiko-Modul intern von pycrypto abhängt, laden Sie zuerst pycrypto herunter und installieren Sie es
pip3 install pycrypto
Spezifische Modulverwendung
Remoteverbindungen werden in zwei Typen unterteilt: (1) Verbindung basierend auf Benutzername und Passwort (2) Verbindung basierend auf öffentlicher Schlüssel
Durch die Verwendung von Paramiko für den Remote-Betrieb gibt es im Wesentlichen zwei Arten: (1) Nur SSHClient verwenden (2) Erstellen Sie selbst einen Transport
Verbinden Sie sich basierend auf Benutzername und Passwort
import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostname='host', port=22, username='root', password='123') # 执行命令 stdout命令结果,stderr错误 stdin, stdout, stderr = ssh.exec_command('ls') # 获取命令结果 result = stdout.read() # 关闭连接 ssh.close()
import paramiko transport = paramiko.Transport(('hostname', 22)) transport.connect(username='root', password='123') ssh = paramiko.SSHClient() ssh._transport = transport stdin, stdout, stderr = ssh.exec_command('df') print(stdout.read()) transport.close()
import paramiko private_key = paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa') # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostname='host', port=22, username='root', key=private_key) # 执行命令 stdin, stdout, stderr = ssh.exec_command('df') # 获取命令结果 result = stdout.read() # 关闭连接 ssh.close()
import paramiko private_key = paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa') transport = paramiko.Transport(('hostname', 22)) transport.connect(username='wupeiqi', pkey=private_key) ssh = paramiko.SSHClient() ssh._transport = transport stdin, stdout, stderr = ssh.exec_command('df') transport.close()
SFTPClient: wird verwendet, um eine Verbindung zum Remote-Server herzustellen und Upload- und Download-Funktionen auszuführen.
Upload und Download basierend auf Benutzername und Passwort
import paramiko transport = paramiko.Transport(('hostname',22)) transport.connect(username='root',password='123') sftp = paramiko.SFTPClient.from_transport(transport) # 将location.py 上传至服务器 /tmp/test.py sftp.put('/tmp/location.py', '/tmp/test.py') # 将remove_path 下载到本地 local_path sftp.get('remove_path', 'local_path') transport.close()
import paramiko private_key = paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa') transport = paramiko.Transport(('hostname', 22)) transport.connect(username='root', pkey=private_key ) sftp = paramiko.SFTPClient.from_transport(transport) # 将location.py 上传至服务器 /tmp/test.py sftp.put('/tmp/location.py', '/tmp/test.py') # 将remove_path 下载到本地 local_path sftp.get('remove_path', 'local_path') transport.close()
Das obige ist der detaillierte Inhalt vonErfahren Sie, wie Sie das Paramiko-Modul in Python teilen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Alternative Verwendung von Python -Parameteranmerkungen in der Python -Programmierung, Parameteranmerkungen sind eine sehr nützliche Funktion, die den Entwicklern helfen kann, Funktionen besser zu verstehen und zu verwenden ...

Auswahl der Python-plattformübergreifenden Desktop-Anwendungsentwicklungsbibliothek Viele Python-Entwickler möchten Desktop-Anwendungen entwickeln, die sowohl auf Windows- als auch auf Linux-Systemen ausgeführt werden können ...

Warum kann mein Code nicht die von der API zurückgegebenen Daten erhalten? Bei der Programmierung stoßen wir häufig auf das Problem der Rückgabe von Nullwerten, wenn API aufruft, was nicht nur verwirrend ist ...

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Wie lösten Python -Skripte an einem bestimmten Ort die Ausgabe in Cursorposition? Beim Schreiben von Python -Skripten ist es üblich, die vorherige Ausgabe an die Cursorposition zu löschen ...

Viele Entwickler verlassen sich auf PYPI (PythonpackageIndex) ...
