SSH mit Python und Paramiko (PyCrypto) - ausführliches Tutorial

SSH mit Python und Paramiko (PyCrypto) – ausführliches Tutorial

Als Systemadminstrator von Linux-Systemen benötigt man das ein oder andere mal Zugriff auf die Systeme per Secure Shell (SSH). Da sich Python Als plattformunabhängige Scriptsprache fast immer.

Bash_demoPython ist sehr gut lesbar und damit oft auch pflegeleicht. Daher wird die Skriptsprache von vielen Administratoren geschätzt. Für die Fernwartung von Linux/Unix Servern wird häufig das SSH-Protokoll verwendet. Leider unterstützt Python per Default kein SSH. Diese Funktionionalität muss man selbst per Package nachrüsten. Es gibt diverse Python-Erweiterungen für SSH. Am ehesten bietet sich jedoch Paramiko an. Um mit Python SSH-Verbindungen zu öffnen benötigt man also das Paket Paramiko. Paramiko setzt wiederum pyCrypto vorraus. pyCrypto muss kompiliert werden oder vorkompiliert für das entsprechende System heruntergeladen und installiert werden.

Installation unter Windows

Wenn ihr Windows verwendet, dann solltet ihr hier weiterlesen. Der Linux-Teil ist weiter unten.

Voraussetzung für Paramiko:

Python muss auf Windows-System installiert sein. (zB. 2.7.* oder 3.*)

Normalerweise kann Paramiko über setuptools installiert werden. Falls ihr setuptools noch nicht installiert und eingerichtet habt, dann könnt ihr dies hier nachlesen. Falls ihr daran kein Interesse habt, dann muss Paramiko heruntergeladen sein http://pypi.python.org/pypi/paramiko

Außerdem benötigt Paramiko das Python-Package PyCrypto. Dieses müsst ihr euch ebenfalls installieren. Falls ihr dies nicht installiert habt erscheint folgende Fehlermeldung:

warning: GMP library not found; Not building Crypto.PublicKey._fastmath.
error: Setup script exited with error: Unable to find vcvarsall.bat

Am besten ihr ladet euch den Windows-Installer von PyCrypto herunter. Die Installation ist so am unkompliziertesten.

Installation von Paramiko

Falls ihr kein setuptools installiert und eingerichtet habt müsst ihr Paramiko von Hand installieren. Dazu ladet ihr euch das gepackte Verzeichnis von Paramiko herunter. Dieses entpackt ihr auf eurem Windows-PC. und navigiert mit der Windows Eingabeaufforderung in das entsprechende Verzeichnis. Anschließend führt ihr folgende Kommandos aus:

python.exe setup.py build
python.exe setup.py

Im Idealfall sollte die Installation auf diese Weise funktionieren.

Installation unter Linux

Bei eingerichteten setuptools ist die Installation Kinderleicht. Ihr müsst lediglich folgendes Kommando ausführen. easy_install löst sofort die Abhängigkeit zu PyCrypto aus und installiert dieses ebenfalls.

easy_install paramiko

In der Regel ist die Installation hiermit abgeschlossen. Falls nicht, dann müsst ihr die Installation wieder manuell vornehmen. Die Schritte sehen dann genauso aus wie oben. Um PyCrypto in einem Debian (oder Ubuntu) zu installieren muss das Paket python-crypto installiert sein.

apt-get install python-crypto

Habt ihr Probleme bei der Installation von Paramiko oder PyCrypto gehabt? Dann schreibt mir. Ich will versuchen hier im Artikel noch alternative Lösungswege zu dokumentieren.