Python - Transfere um arquivo entre dois servidores remotos, executando um script python

Eu estou tentando copiar um arquivo entre dois servidores de umlocalServerdigamos deserver-A paraserver-B. Eu estou usando o pacote paramiko em python.

Então, existem três servidores, ou seja,localServer, server-A eserver-B. Por favor, veja o código abaixo, isso é auto-explicativo e, por favor, deixe-me saber onde estou indo errado.

Algoritmo que estou usando:

Estou tentando correrparamiko_test.py arquivo delocalServer.paramiko_test.py executacopy.py arquivo emserver-A.copy.py arquivo de cópiassource.txt arquivo emserver-A paraserver-B usando SFTP.

Quando eu corrocopy.py deserver-Aestá funcionando corretamente. Mas quando eu corroparamiko_test.py delocalServer (que indiretamente executacopy.py emserver-A), Não está funcionando!

De logs, eu tenho que saber que há uma conexão bem-sucedida deserver-A paraserver-B, mas depois disso a parte do SFTP não está funcionando!

Questão: Podemos invocar um cliente SFTP em um cliente SFTP? Existe alguma maneira melhor de copiar arquivos entre dois servidores?

Por favor me ajude onde eu estou indo errado.

servidor-A, arquivo: copy.py:

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('<server-B-IP>', username='serverB', password='passwd')

print "connected successfully!"

sftp = ssh.open_sftp()
print sftp
sftp.put('source.txt','/home/serverB/destination.txt' )
sftp.close()
print "copied successfully!"

ssh1.close()
exit()

localServer, paramiko_test.py:

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('<server-A-IP>', username='serverA', password='passwd')

print "connected successfully!"

stdin, stdout, stderr = ssh.exec_command("python /home/username/copy.py")

print stdout.readlines()

print "copied successfully!"

ssh.close()
exit()

A saída destderr.readlines() é:

Traceback (most recent call last):
 File "/home/sitaram/sumanth/test_progs/copy.py", line 12, in <module>
 sftp1.put('./sumanth_temp.txt','/home/ncloudadmin/sumanth.txt' ) 
 File "/usr/lib/pymodules/python2.6/paramiko/sftp_client.py", line 558, in put
 file_size = os.stat(localpath).st_size
OSError: [Errno 2] No such file or directory: './sumanth_temp.txt'

questionAnswers(1)

yourAnswerToTheQuestion