SSL4Py Dokumentation

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

hat jemand ne Ahnung von Euch, wie das Modul SSL4Py, funktioniert?. Habe es mir hier runter geladen:
http://www.keyphrene.com/products.php?lng=en

Aber auf die Seite für die Doku, komme ich nicht drauf. Ich müßte per SCP eine Datei kopieren können.

EDIT:
oder gibt es ne andere Möglichkeit unter Python mit scp zu kopieren. Allerdings sollte das unter Win laufen.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich würde mir wohl Paramiko anschauen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

Das hatte ich schon versucht, bekam aber Probleme mit dem installieren des Modules, denn es verlangte nach einem weiteren Modul, etwas mit Crypto. Das bekam ich auch noch installiert aber irgendwas funktionierte da nicht so richtig mit. Konnte das Modul mit import nicht einfügen.

Allerdings habe ich gesehen, das WinSCP auf putty aufsetzt und das nutzt. Nen Komandozeilentool würde mir ha schon vollkommen reichen, finde aber keine passende Doku zu putty. Auf der Seite von denen habe ich pscp.exe gefunden. Das konnte ich so weit ganz gut einbauen, aber da ist das Problem das sich das Komandozeilentool nicht beendet, wenn zum Beispiel der Username oder Passwrt zum Server nicht stimmte. Das Tool gibt dann nur "Access denied" aus und hängt in so einer Art Endlosschleife. Sind die Parameter allerdings korrekt, kann ich das Tool ohne Probleme nutzen, um Dateien per SCP zu kopieren ( habe ich schon ausprobiert ).
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

Das Installieren von dem Modul hat dann doch hingehauen. Hatte im Netz ein Win32-Binary gefunden, damit hat es dann geklappt.
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

@Leonidas

jetzt hatte ich mir das durchgelesen und das funtzt auch, aber das ist ja dann sftp. gibt kein tutorial für scp?
http://commandline.org.uk/python/sftp-python/
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

jetzt habe ich nun endlich nen beispiel gefunden um per scp eine datei zu senden. ich habe mir dann daraus ne methode gebaut, jetzt fehlt mir nur noch ne methode um eine datei zu empfangen. könnte da jemand helfen?

http://www.stillhq.com/python/paramiko/000001.html
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

so, habs dann doch nach langem hin und her hinbekommen. hier meine lösung:

Code: Alles auswählen

#!/usr/bin/python

import getpass
import os
import paramiko
import socket
import sys

def sendFile (server, username, password, localfile, remotefile):

	sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
	sock.connect((server, 22))

	t = paramiko.Transport(sock)
	t.start_client()
	t.auth_password(username, password)

	scp_channel = t.open_session()
          
	f = file(localfile, 'rb')
	scp_channel.exec_command('scp -v -t %s\n'
                         % '/'.join(remotefile.split('/')[:-1]))
	scp_channel.send('C%s %d %s\n'
                 %(oct(os.stat(localfile).st_mode)[-4:],
                   os.stat(localfile)[6],
                   remotefile.split('/')[-1]))
	scp_channel.sendall(f.read())

	f.close()
	scp_channel.close()
	t.close()
	sock.close()

def getFile (server, username, password, localfile, remotefile):
	sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
	sock.connect((server, 22))
	f = file (localfile, 'w')
	command = "cat " + str (remotefile)
	t = paramiko.Transport(sock)
	t.start_client()
	t.auth_password(username, password)

	cmd_channel = t.open_session()
	cmd_channel.exec_command(command)

	data = cmd_channel.recv(1024)
	while data:
		f.write (data)
		data = cmd_channel.recv(1024)
	cmd_channel.close()
	f.close ()
	t.close()
	sock.close()

if __name__ == "__main__":
	getFile ("192.168.2.105", "benutzer", "passwort", "/home/test/xorg_von_server", "/home/test/xorg.conf")

Antworten