How to transfer a file to ssh server in an ssh-connection made by paramiko?
22,055
Solution 1
Try this:
s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect("xxx.xxx.xxx.xxx",22,username=xxx,password='',timeout=4)
sftp = s.open_sftp()
sftp.put('/home/me/file.ext', '/remote/home/file.ext')
Solution 2
Here is another example from https://www.programcreek.com/python/example/4561/paramiko.SSHClient
def copy_file(hostname, port, username, password, src, dst):
client = paramiko.SSHClient()
client.load_system_host_keys()
print (" Connecting to %s \n with username=%s... \n" %(hostname,username))
t = paramiko.Transport(hostname, port)
t.connect(username=username,password=password)
sftp = paramiko.SFTPClient.from_transport(t)
print ("Copying file: %s to path: %s" %(src, dst))
sftp.put(src, dst)
sftp.close()
t.close()
Comments
-
Coaku almost 2 years
I am using Python's paramiko packet to keep an ssh-connection with an server :
s = paramiko.SSHClient() s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) s.connect("xxx.xxx.xxx.xxx",22,username=xxx,password='',timeout=4)
I want to use this ssh-connection to transfer a file to ssh server, how can i do?
Just like use
scp a-file [email protected]:filepath
command? -
Martin Prikryl over 3 yearsThe answer is correct regarding the upload itself. – But using of
AutoAddPolicy
this way has security consequences. You are losing a protection against MITM attacks by doing so. For the correct solution, see Paramiko “Unknown Server”.