Szukałem modułu, który pozwala mi wykonywać funkcje SSH/SFTP w Pythonie bez użycia POPEN, aby zrobić to ręcznie. Czy jest coś takiego? Nie znalazłem żadnych prawdziwych informacji na ten temat, dziękuję!Moduł Python SSH/SFTP?
Odpowiedz
Pewnie szukasz doskonałej biblioteki paramiko:
paramiko pracuje ładnie: Paramiko Homepage
W zależności od tego, czego szukasz zrobić przez ssh, można również skorzystać z patrząc na bibliotekę pexpect: http://www.noah.org/wiki/pexpect
Dla SFTP można użyć pysftp, który jest cienkim opakowaniem nad SFTPClient paramiko (pip install sftp
).
Przykład aby pobrać plik:
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')
Jest wrapper paramiko, ssh_decorate
który będzie działał kod Pythona zdalnie dla Ciebie:
from ssh_decorate import ssh_connect
ssh = ssh_connect('user','password','server')
@ssh
def python_pwd():
import os
return os.getcwd()
print (python_pwd())
nie może być prostsze
** Możesz użyć modułu python paramiko: ** http://docs.paramiko.org/en/2.3/ ** Alternatywnie **, możesz użyć modułu netmiko do połączenia ssh. [https://pynet.twb-tech.com/blog/automation/netmiko.html] –
Proszę przeczytać moją odpowiedź jeszcze raz, polecam 'paramiko'. wszystkie 'ssh_decorate', uruchamia' python' zdalnie przez 'ssh' przy użyciu prostszej składni niż paramiko –
paramiko? http://stackoverflow.com/search?q=[python]+ssh+sftp – jfs