Python - Prześlij plik między dwoma zdalnymi serwerami, wykonując skrypt Pythona

Próbuję skopiować plik między dwoma serwerami z alocalServer, powiedzmy zserver-A doserver-B. Używam pakietu paramiko w python.

Istnieją trzy serwery, a mianowicielocalServer, server-A iserver-B. Zobacz poniższy kod, jest to oczywiste i daj mi znać, gdzie się mylę.

Algorytm, którego używam:

Próbuję biecparamiko_test.py plik zlocalServer.paramiko_test.py wykonujecopy.py plik wserver-A.copy.py plik kopiisource.txt plik wserver-A doserver-B przy użyciu SFTP.

Kiedy uciekamcopy.py zserver-A, działa poprawnie. Ale kiedy biegnęparamiko_test.py zlocalServer (który pośrednio wykonujecopy.py wserver-A), to nie działa!

Z dzienników dowiedziałem się, że istnieje udane połączenieserver-A doserver-B, ale potem część SFTP nie działa!

Pytanie: Czy możemy wywołać klienta SFTP w kliencie SFTP? Czy istnieje lepszy sposób kopiowania plików między dwoma serwerami?

Pomóż mi, gdzie się mylę.

serwer-A, plik: 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()

Wyjście zstderr.readlines() jest:

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