[python-users] Mac OS X FSevents Talk Follow-Up
Christopher Arndt
chris at chrisarndt.de
Fr Mär 16 18:30:21 CET 2012
Am 15.03.12 08:17, schrieb Christopher Arndt:
> Demo-Skript
> ===========
>
> Subversion Repository
> ---------------------
>
> svn co svn://svn.chrisarndt.de/projects/dropsftp/trunk dropsftp
Ich habe das Skript jetzt nochmal überarbeitet und dabei hauptsächlich
die SFTP-Funktionen verbessert:
- Die Authentifizierung mit SSH-Keys funktioniert jetzt, sowohl mit
SSH-Agent als auch Keyfiles.
- Die SFTP-Funktionen wurden in eine Klasse 'ConfigSFTPClient'
ausgelagert und diese in das neue Modul 'sftpclient.py'. Dieses erfüllt
gleichzeitig dieselbe Funktion wie das vorherige Testskript
'test_sftpclient.py'.
- Erweiterte und verbesserte Docstrings.
- Unterstützung des paramiko-Forks "ssh for Python"
(http://python.org/pypi/ssh).
Dadurch vereinfacht sich die Benutzung der SFTP-Funktionen von
paramiko/ssh auf Folgendes:
import sftpclient
config = {
'hostname': 'example.com',
'username': 'joe'
}
sftp = sftpclient.ConfigSFTPClient(config)
sftp.put('local-file', '/path/to/remote-file')
print sftp.listdir('/remote/dir')
sftp.close()
Dabei wird automatisch versucht, den Key vom SSH-Agent zu laden, danach
aus dem SSH Verzeichnis des Benutzers (default: ~/.ssh), oder ein in
'config' übergebenes Passwort benutzt. Die Passphrase des Keys wird,
falls nötig, über die Konsole abgefragt. Die Methode die Passphrase
abzufragen, kann durch die Übergabe eines Callables in
'config['passphrase'] 'angepasst werden (Beispiel, siehe
'sftpclient._test()').
Share & Enjoy!
Chris
Mehr Informationen über die Mailingliste python-users