Je cherche un module qui me permet de faire des fonctions SSH / SFTP en Python sans utiliser Popen pour le faire manuellement. Y a-t-il quelque chose comme ça? Je n'ai trouvé aucune information réelle à ce sujet, merci! P>
4 Réponses :
Vous recherchez probablement l'excellente bibliothèque de paramiko: p>
Selon ce que vous cherchez à faire sur SSH, vous pouvez également profiter de la bibliothèque PEXPPECT: http://www.noah.org/wiki/pexport p>
Pour SFTP, vous pouvez utiliser PYSFTP , qui est une mince emballage sur le SFTPCCLIENT ( PIP INSTALL SFTP code>).
Exemple Pour télécharger un fichier: P>
import pysftp #pip install sftp import sys hostname = "128.65.45.12" username = "bob" password = "123456" sftp = pysftp.Connection(hostname, username=username, password=password) sftp.get('/data/word_vectors/GoogleNews-vectors-negative300.txt', preserve_mtime=True) print('done')
J'aime le package PYSFTP, et j'aime que vous ayez noté que cela s'appelle SFTP code> lors de l'installation via PIP, malgré l'importation de
PYSFTP code>. Cependant, j'avais besoin d'une nouvelle installation récemment (pour Python 3.6), et PIP souhaite réellement
PYSFTP code> maintenant. De plus, pour une meilleure sécurité, vous devez maintenant explicitement désactiver la vérification de la clé d'hôte si vous souhaitez utiliser une authentification uniquement par mot de passe. Ce n'est pas difficile à faire du tout (quelques lignes de code supplémentaires et le message d'avertissement et Documents précisent ce que vous devez faire), mais vous voudrez peut-être mettre à jour votre réponse pour refléter ces modifications.
@Jowny merci bon de savoir. Je n'utilise pas le paquet pour le moment; Si vous avez un extrait de code, vous êtes le bienvenu de mettre à jour la réponse.
Paramiko? Stackoverflow.com/search?q=[Python]+SSH+SFTP