Сравнение md5sums из локального файла и файла удаленного сервера с использованием Python - PullRequest
1 голос
/ 17 июня 2020

Я пытаюсь закодировать проверку md5 через python, и я использую частные ключи для подключения к удаленному серверу.

#!/usr/bin/python3
import paramiko
import pysftp
import os
import sys

localpath='/home/abdulkarim/Skripte/data/test1.txt'
remotepath='/home/abdulkarim/test/test3.txt'
k = paramiko.RSAKey.from_private_key_file("/home/abdulkarim/.ssh/id_rsa")
c = paramiko.SSHClient()
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())

print("connecting")
c.connect( hostname = "do-test", username = "abdulkarim", pkey = k )
print("connected")
sftp = c.open_sftp()
sftp.put(localpath, remotepath)

def hashCheck(f,r):
    originalHash = os.system('md5sum '+ f)
    stdin, stdout, stderr = c.exec_command('md5sum '+ r)
    #print(stdout)
    for i in range(2):
        if originalHash==ssh_stdout:
            print("Survived the Check")
        elif i==2:
            print("Not the same Hash")

hashCheck(localpath,remotepath)
c.close()

Проблема в том, что мой результат выглядит так:

Error Pic

Как мне сравнить md5 из локального файла и на сервере?

когда я распечатываю стандартный вывод, результат выглядит вот так (просто чтобы увидеть, что происходит): Error Pic2

stdout, вероятно, не является переменной для сравнения здесь .. Я новичок в python и работаю с серверами, поэтому ...

...