Я пытаюсь закодировать проверку 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()
Проблема в том, что мой результат выглядит так:
Как мне сравнить md5 из локального файла и на сервере?
когда я распечатываю стандартный вывод, результат выглядит вот так (просто чтобы увидеть, что происходит):
stdout, вероятно, не является переменной для сравнения здесь .. Я новичок в python и работаю с серверами, поэтому ...